PHP数据库Excel导出
问题描述:
我正在使用PHP脚本将数据从MySQL导出到Excel中。 Excel工作表的第一行是一个列标题。我希望他们以粗体显示。我该怎么做呢? 我正在使用下面的代码:PHP数据库Excel导出
$con = mysql_connect("localhost","admin","password");
if (!$con)
{
die('Could not connect to DB: \n' . mysql_error());
}
mysql_select_db("ALNMSI", $con);
$result = mysql_query("SELECT * FROM survey1");
$filename = "alnmsi_" . date('d-m-Y') . ".xls";
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel"); $flag = false;
$flag = false;
while($row = mysql_fetch_array($result))
{
if(!$flag)
{
data_keys();
$flag = true;
}
array_walk($row, 'cleanData');
data_array($row);
}
答
我假设你做错了。无论你输出什么,它可能不是一个有效的Excel文件,因为你没有提到BIFF(这是Excel文件的二进制格式)。
如果输出TAB或COMMA分隔值,则Excel只会意外打开它。而且无法设置标题样式。
还可以阅读:
答
您应该使用库生成Excel文件。
- PHPExcel: http://phpexcel.codeplex.com/
- Spreadsheet_Excel_Writer: http://pear.php.net/manual/en/package.fileformats.spreadsheet-excel-writer.intro.php
做Excel的格式不过度的文档,如Word呢? – tekknolagi 2011-01-10 06:57:07
即Excel可能不接受原始文本..... – tekknolagi 2011-01-10 06:57:27