【问题标题】:Convert .xlsx file to .csv file using PHP使用 PHP 将 .xlsx 文件转换为 .csv 文件
【发布时间】:2011-10-17 06:18:19
【问题描述】:

我正在寻找一种低开销的方法来使用 PHP 将 .xlsx 文件转换为 .csv 文件,而不会消耗过多的内存或加载无关的类。有人吗?

【问题讨论】:

  • 为什么这个问题被关闭了?对我来说似乎很清楚,我想阅读答案,因为我有同样的问题。
  • PHPExcel 有很好的 API,但会消耗大量内存。我使用xlsx2csv 并进行了一些修改,以便可以将其作为函数调用。它不需要太多内存。
  • 请打开问题,有效问题!这太荒谬了。
  • 嗨@xelber,通常SO用户更喜欢提问者付出更多的努力。诸如“你如何做 X”这样没有提供尝试证明的问题是主观的(可能有很多方法可以做 X)并且通常是封闭的。如果问题类似于“我正在尝试做 X,但由于错误 Z 导致 Y 无法工作”,它会很受欢迎。欲了解更多信息,请访问stackoverflow.com/help/how-to-ask

标签: php excel csv file-conversion


【解决方案1】:

您可以使用PhpSpreadsheet 使用 PHP 读取 XLSX 文件。从那里,您只需要找出目标格式。

【讨论】:

  • +1 链接,我以前从未见过那个库,它正是我一直在寻找的。​​span>
  • 这已被弃用并移至 github,然后被弃用并移至 github.com/PHPOffice/PhpSpreadsheet 的另一个项目。希望对新用户有所帮助
【解决方案2】:

您可以在 PhpSpreadsheet 中使用以下代码。

$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('CSV');

$objPHPExcel = $reader->load('csv_file.csv');
$objWriter = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($objPHPExcel, 'XLSX');
$objWriter->save('excel_file.xlsx');

如果您需要降低内存使用率,您可以为处理提供一些缓存,请参阅 - https://phpspreadsheet.readthedocs.io/en/latest/topics/memory_saving/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2018-07-22
    • 2020-07-28
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多