gpt4 book ai didi

php - 可以在 PHP 中将大型 csv 文件编写为 xls 表吗?

转载 作者:行者123 更新时间:2023-11-29 23:54:14 24 4
gpt4 key购买 nike

因此,我需要向用户提供一个多表 Excel 文档,其中每个表有数千行和约 10 列。数据来自多个 MySQL 查询。

当前使用“Laravel Excel”库来执行此操作,但它占用了太多内存,并且给我带来了巨大的可扩展性问题。

所以我有一个想法,使用MySQL OUTFILE在磁盘上写入一组csv文件,每个sheet一个,然后创建一个xls文档并将之前写入的csv数据作为sheet写入xls中。

是否有一种方法可以完成将 csv 内容“批量”写入工作表,而无需逐行迭代 csv 或占用大量内存(例如直接写入磁盘?)

感谢您的帮助!

最佳答案

我最近遇到了一个非常相似的问题。我的解决方案是使用非常轻量级的 PHP 库 PHP_XLSXWriter。

您可以在这里找到它:https://github.com/mk-j/PHP_XLSXWriter

它流式传输输出,因此不必在内存中保留太多内容。

在我的使用案例中,我将“writeStream”方法分为三种方法:一种用于页眉和页脚,另一种用于工作表内容(即实际行)。这样我就可以编写标题,然后使用 Laravel 的“分块”功能,以更加渐进地进行写入。

时间略有增加,但执行脚本的 RAM 使用量从 ~200Mb 减少到了 15Mb 以下!

关于php - 可以在 PHP 中将大型 csv 文件编写为 xls 表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25450488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com