使用 phpexcel 将 MySql 导出到 excel
Using phpexcel to export MySql to excel
大家好,我创建了一个将 MySQL 数据导出到 excel 的程序,但有时我在尝试打开 excel 文件时遇到错误。
错误:您尝试打开的文件格式与文件 extension.Verify 指定的格式不同,该文件未损坏并且在打开 file.Do 你想现在打开文件吗?
当我单击“是”时,我在 excel 文件中看到了一些有趣的字符。
这是我的代码:
include 'setup.php';
_connectsurvey(); //Database
require_once 'PHPExcel.php';
$objPHPExcel = new PHPExcel();
$query = "SELECT * FROM questionanswer";
$result = mysql_query($query) or die(mysql_error());
$objPHPExcel = new PHPExcel();
$rowCount = 1;
while($row = mysql_fetch_array($result)){
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['gender']);
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['city']);
$rowCount++;
pr($objPHPExcel);
}
header('Content-Type: application/vnd.openxmlformats- officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="survey.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
在底部附近,当您使用文件扩展名 .xlsx 命名文件时,它是来自 Office 2007 的基于 openxml 的文档的正确文件扩展名应该可以解决您的问题。
header('Content-Disposition: attachment;filename="survey.xlsx"');
如果您确实需要使用 xls,请将输出类型更改为 Excel2003,但您还需要更改内容类型 header 以匹配它。
大家好,我创建了一个将 MySQL 数据导出到 excel 的程序,但有时我在尝试打开 excel 文件时遇到错误。
错误:您尝试打开的文件格式与文件 extension.Verify 指定的格式不同,该文件未损坏并且在打开 file.Do 你想现在打开文件吗?
当我单击“是”时,我在 excel 文件中看到了一些有趣的字符。 这是我的代码:
include 'setup.php';
_connectsurvey(); //Database
require_once 'PHPExcel.php';
$objPHPExcel = new PHPExcel();
$query = "SELECT * FROM questionanswer";
$result = mysql_query($query) or die(mysql_error());
$objPHPExcel = new PHPExcel();
$rowCount = 1;
while($row = mysql_fetch_array($result)){
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['gender']);
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['city']);
$rowCount++;
pr($objPHPExcel);
}
header('Content-Type: application/vnd.openxmlformats- officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="survey.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
在底部附近,当您使用文件扩展名 .xlsx 命名文件时,它是来自 Office 2007 的基于 openxml 的文档的正确文件扩展名应该可以解决您的问题。
header('Content-Disposition: attachment;filename="survey.xlsx"');
如果您确实需要使用 xls,请将输出类型更改为 Excel2003,但您还需要更改内容类型 header 以匹配它。