使用PHPexcel以便宜的方式查找最高的非空列/行(在Google表格导出中)

问题描述 投票:8回答:1

在PHPExcel中导入Google表格导出的.xlsx文件时,PHPexcel方法$worksheet->getHighestDataColumn()$worksheet->getHighestDataRow()都返回Google Docs中的最大设置,包括完全空单元格,通常为26x1000。

在Google表格/ Excel中打开它们时,单元格与常规空Excel单元格一样空,即没有空格。

也许谷歌表格使用略微不同的方法来“保留”列和行而不是Excel(即时生成它们)。

我想获得最高的非空行,以便在循环遍历行时不会不必要地分配大量内存。尊重我正在使用的格式,我可以在空行中保存一些评估,但最后,我被迫简单地遍历所有行并检查所有单元格是否为空。

php google-sheets phpexcel
1个回答
0
投票

如果您愿意在Google Apps脚本中创建自定义功能,请查看此答案。在导出之前使用它,以便知道有多少行。它找到单个列的最后一行。但是,由于它基于速度,您可能会发现它比其他方法更快地遍历每个列。

对于您的脚本,在遍历myLastRow()结果的forEach循环上尝试Math.max:

Determining the last row in a single column

我注意到你没有指定你的列在它们结束之前是否有空单元格。上述链接确实要求所有单元格都为空(在Google表单中)。

© www.soinside.com 2019 - 2024. All rights reserved.