使用 php excel 导出到 excel 到最直接的工作表

Posted

技术标签:

【中文标题】使用 php excel 导出到 excel 到最直接的工作表【英文标题】:Exporting to excel using php excel to the most immediate sheet 【发布时间】:2013-04-06 12:36:30 【问题描述】:

我想将数据导出到 Excel 工作表。我有一个工作簿 x,工作簿是有几个由 php excel 创建的工作表。我想以这样的格式导出数据,如果第一张有数据,那么 php excel 需要自己创建第二张和后续的表格,而无需我指定表格索引 $objReader = PHPExcel_IOFactory::createReader('Excel2007');

$objPHPExcel = $objReader->load("workbooks/" . $labref . "/" . $labref . ".xlsx");
        $objPHPExcel->getActiveSheet();
        $objWorkSheet = $objPHPExcel->createSheet();
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
  $objWriter->save("workbooks/" . $labref . "/" . $labref . ".xlsx");

在上述情况下,导出时工作簿被php excel删除,因此phpexcel无法创建和写入创建的工作表

【问题讨论】:

【参考方案1】:

我很难理解您的问题。

PHPExcel 永远不会删除工作簿文件:PHPExcel 中没有可以删除任何文件的代码。如果脚本正在删除文件,则 PHPExcel 不会删除该文件。

在上面的代码sn-p中,你正在加载一个工作簿;向该工作簿添加新工作表;然后保存该工作簿,覆盖原来的。您的工作簿/文件夹中应该仍然有一个名为 .xlsx 的工作簿,但有一个额外的工作表。

您能否准确说明发生了什么?

【讨论】:

好的,我不止一次导出到工作表,第一次导出指定索引0是可以的,然后第二次导出指定第二个索引,它也可以,现在为第三个索引,当我指定哪个是 getActiveSheet(2) 并尝试导出时,如果按照您所说的导出或覆盖,工作簿未写入,该过程似乎停止 所以它不是删除,它根本不是写?这一切都是由一个请求处理的,还是由单个脚本运行处理的?这是 CLI 还是 Web 脚本?您是否启用了 PHP 错误日志记录?你检查过日志吗?是否报告了任何错误?

以上是关于使用 php excel 导出到 excel 到最直接的工作表的主要内容,如果未能解决你的问题,请参考以下文章

php控制导出excel的单元格格式

php怎么导出大量数据的Excel

使用原生php将数据库数据导出到excel文件中

php导出excel表后,打包成压缩包,然后下载到本地如何实现?

急求php导出生成excel的代码

php怎么导出大量数据的Excel,phpexcel