【问题标题】:Generate Excel file, but do not save to the server生成Excel文件,但不保存到服务器
【发布时间】:2014-01-07 17:38:07
【问题描述】:

我有一个 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 文件并提供给用户下载。

可以吗?

谢谢。

【问题讨论】:

标签: php phpexcel


【解决方案1】:

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');

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

【讨论】:

  • 在俄语错误的信息:“Неудаетсяоткрытьфайл ”01simple.xlsx“,таккакформатилирасширениеэтогофайлаявляютсянедопустимымиУбедитесь,чтофайлнеповрежденирасширениеегоименисоответствуетегоформату 。” 。由谷歌翻译器翻译成英文:“无法打开文件“01simple.xlsx”,因为该文件的格式或扩展名无效。确保文件未损坏且其名称的扩展名与其格式匹配。”
猜你喜欢
  • 2014-05-17
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多