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

Rub*_*ben 8 php google-sheets phpexcel

当导入在PHPExcel,PHPexcel方法谷歌表导出的.xlsx文件$worksheet->getHighestDataColumn(),并$worksheet->getHighestDataRow()都返回谷歌文档的最大集,包括完全空白单元格,这通常是26x1000.

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

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

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

Dee*_*789 0

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

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

确定单列中的最后一行

我注意到您没有指定您的列在结束之前是否有空单元格。上面的链接确实要求所有单元格都不为空(用 Google Sheet 术语来说)。