【问题标题】:Using PHPExcel to convert more then 1 sheet from xls to csv使用 PHPExcel 将超过 1 个工作表从 xls 转换为 csv
【发布时间】:2016-04-25 09:27:39
【问题描述】:

我正在使用以下代码将 xls 文件转换为 csv。 这适用于第一张纸,但我有几个需要做。这些工作表将始终使用相同的名称。 是否可以做所有的工作表,而不仅仅是做第一个活动的工作表。

require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php';
$excel = PHPExcel_IOFactory::load("all-euro-data-2015-2016.xls");
$writer = PHPExcel_IOFactory::createWriter($excel, 'CSV');
$writer->setDelimiter(";");
$writer->setEnclosure("");
$writer->save("test123.csv");

【问题讨论】:

    标签: php excel csv


    【解决方案1】:

    我不熟悉 PHPExcel,但分隔符应该是逗号而不是 CSV 文件的分号。

    【讨论】:

      【解决方案2】:

      目前您只编写活动表。您必须遍历 excel 文件中的不同工作表并将它们写入单独的 csv 文件。

      foreach ($excel->getWorksheetIterator() as $workSheetIndex => $worksheet) {
          $excel->setActiveSheetIndex($workSheetIndex);    
          $writer->setSheetIndex($index);
          $writer->save("test123_" . $worksheet->getTitle() . ".csv");    
      }
      

      【讨论】:

      • code require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php'; $excel = PHPExcel_IOFactory::load("all-euro-data-2015-2016.xls"); $writer = PHPExcel_IOFactory::createWriter($excel, 'CSV'); foreach ($excel->getWorksheetIterator() as $workSheetIndex => $worksheet) { $excel->setActiveSheetIndex($workSheetIndex); $writer->setSheetIndex($index); $writer->save("test123_" . $worksheet->getTitle() . ".csv"); }code
      • 这是我所做的,但我只是得到错误:注意:未定义变量:第 8 行 /home/admin/JARRATTPERKINS.COM/xls2csv.php 中的索引注意:未定义索引:在 /home /admin/JARRATTPERKINS.COM/PHPExcel/Classes/PHPExcel.php 第 581 行致命错误:在 /home/admin/JARRATTPERKINS.COM/PHPExcel/Classes/PHPExcel/Writer 中的非对象上调用成员函数 getHighestDataColumn() /CSV.php 第 128 行的索引应该是什么?
      • 将索引添加为 $index++
      • 哦,对不起,我的错误。 $index 当然应该是 $workSheetIndex
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 2015-02-02
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 2018-05-23
      • 1970-01-01
      相关资源
      最近更新 更多