我需要 export HTML table 尽可能容易地将数据库中的数据传送到 xlsx file .
我试过 PHPExcel
和一些JS插件,但 unsuccessfully .
有没有新的解决方案?
我发现的一切都差不多有10年了 .
这就是我创造的:
我的HTML表单:
<form action="download.php">
<input type="submit" value="Export" />
</form>
我的PHPExcel代码(文件:download.php):
<?php
require_once "../Classes/PHPExcel.php";
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'hello world!');
$objPHPExcel->getActiveSheet()->setTitle('Chesse1');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="helloworld.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
?>
当我单击按钮时,它会下载文件,但由于 "wrong format" ,我无法打开它 .
我也试过这个视频教程:https://www.youtube.com/watch?v=4dc3a4isHNE&t
导出Excel文件工作但出现了另一个问题 .
我遇到的问题是 wrong charset . 我需要使用像: ě,š,č,ř,ž,ý,á,í 等字符,这些字符完全搞砸了 .
2 回答
更新的答案:
我在代码中更改了格式并添加了缓冲区清理 .
有时
Excel2007
与Excel5
发生冲突 . 它取决于PHPExcel中可用的库文件 . 下载后我有同样的文件无法打开的问题 . 所以我改为Excel5
已插入样本数据以检查是否在excelsheet中出现数据 . 您可以将其替换为数据库变量 .
此外
ob_end_clean()
有助于避免缓存缓存 .希望这可以帮助 .