生成Excel文件,但不保存到服务器

时间:2013-12-19 08:37:49

标签: php phpexcel

我有一个Excel文件 file.xlsx 。我用PHPExcel打开这个文件并插入我的数据:

$excel2->getActiveSheet()
                    ->setCellValue('A2', $rowCardCode['podpodrazd'].", ".$rowCardCode['schet'])
                    ->setCellValue('C2', $rowCardCode['tovar_name'])
                    ->setCellValue('C3', $rowCardCode['edinica_izmer']);

之后,我可以使用新名称(temp/New_file.xlsx)保存生成的文件。

$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save('files/temp_file/card/card_'.time().'.xlsx');

我不想将生成的文件保存到服务器。我只想生成Excel文件并将其提供给用户下载。

有可能吗?

感谢。

1 个答案:

答案 0 :(得分:2)

PHPExcel / Examples文件夹中的01simple-download-xlsx.php示例显示了如何执行此操作

// Redirect output to a client’s web browser (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save('php://output');
exit;

而不是

$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save('files/temp_file/card/card_'.time().'.xlsx');

但请确保您没有向浏览器输出任何其他内容