如何将PHP创建的表导出到excel文件中?有什么办法吗?
我其实想这样做:
说我查询数据库是一个php文件,并在html和PHP表中显示结果......
此表将是动态的,具体取决于用户搜索的内容。并且用户应该能够通过单击“导出”按钮将表保存为excel文件...
php中有没有选项可以做到这一点?
答案 0 :(得分:1)
PHPExcel可能是最好的图书馆。如果你下载它,有很多例子几乎肯定会显示你想要做什么。
一个简单的例子如下:
$objPHPExcel = new PHPExcel();
$objWorksheet = $objPHPExcel->getActiveSheet();
$objWorksheet->fromArray(
array(
array('', 'Rainfall (mm)', 'Temperature (°F)', 'Humidity (%)'),
array('Jan', 78, 52, 61),
array('Feb', 64, 54, 62),
array('Mar', 62, 57, 63),
array('Apr', 21, 62, 59),
array('May', 11, 75, 60),
array('Jun', 1, 75, 57),
array('Jul', 1, 79, 56),
array('Aug', 1, 79, 59),
array('Sep', 10, 75, 60),
array('Oct', 40, 68, 63),
array('Nov', 69, 62, 64),
array('Dec', 89, 57, 66),
)
);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('sheet.xlsx');
或者,你可以很容易地导出为CSV,用户可以毫不费力地在excel中打开(不过技术上不是excel文档 - 但是有局限性)。
答案 1 :(得分:0)
将表存储在可变的
中并写入文件
例如:
$content = "";//in content you must have table data
$file = fopen("file location", "w");
fwrite($file ,$content);
这应该有助于轻松
答案 2 :(得分:0)
如果有最终用户将查看该文件,请使用已使用PHPExcel提供的答案
如果您使用数据访问,请使用CSV。
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('file.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
答案 3 :(得分:0)
如果您不需要公式或精美功能,也可以轻松输出CSV文件(Excel可以打开)。如果您有一个阵列数组,如所展示的一个enigma,您可以使用
$string = "";
foreach ($array as $row)
$string .= implode(',', $row) . "\n";
file_put_contents("filename.csv", $string);
答案 4 :(得分:0)
看看这堂课。它能够从HTML表创建多表excel文件。
https://github.com/GSTVAC/HtmlExcel
$xls = new HtmlExcel();
$xls->addSheet("Names", $names);
$xls->headers();
echo $xls->buildFile();