在 PHP 中使用单独的单元格将 MySQL 数据导出到 Excel
您在将 MySQL 数据导出到 Excel 时遇到问题,其中所有文本显示在单个单元格中,而不是每个行值的单独单元格中。本文旨在通过解决每一行代码并建议适当的更改来提供此问题的解决方案。
第 12 行: $count = mysql_num_fields($result);
此行计算结果集中的列数,并将其分配给变量 $count。
第 14 行: $header .= mysql_field_name($result, $i)。 "\t";
此行将列名追加到 $header 变量中,用制表符分隔。
第 24 行: if(!isset($value) || $值 == ""){ $值 = "\t"; }
在此行中,如果单元格值为空或未定义,则将其替换为制表符。这确保每个单元格至少有一个空格。
第 28 行: $data .= trim($line)."\n";
这里,修剪后的数据行附加到 $data 变量,以换行符分隔。
第 38 行: header("Content-Disposition: Attachment; filename=exportfile.xls");
在这一行中,标头设置为强制浏览器将文件下载为名为exportfile.xls的Excel文档。
第52行: $result = @mysql_query( $sql,$Connect) 或 die("无法执行查询:
" .mysql_error(). "
" .mysql_errno());
这一行执行 SQL 查询并处理任何潜在的错误。
第 63 行: header("Pragma: no-cache"); and header("Expires: 0");
这些标头禁用缓存,以确保每次请求时下载最新数据。
第 92 行: print trim( $schema_insert);
在这一行中,打印出修剪后的数据。
增强代码:
这是代码的增强版本这应该可以解决将数据导出到 Excel 中单独单元格的问题:
$DB_Server = "localhost";
$DB_Username = "username";
$DB_Password = "password";
$DB_DBName = "databasename";
$DB_TBLName = "tablename";
$filename = "excelfilename";
$sql = "Select * from $DB_TBLName";
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . mysql_errno());
$Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database:<br>" . mysql_error(). "<br>" . mysql_errno());
$result = @mysql_query($sql,$Connect) or die("Couldn't execute query:<br>" . mysql_error(). "<br>" . mysql_errno());
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=$filename.xls");
header("Pragma: no-cache");
header("Expires: 0");
$count = mysql_num_fields($result);
for ($i = 0; $i
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3