在PHPExcel中导入Google表格导出的.xlsx文件时,PHPexcel方法$worksheet->getHighestDataColumn()
和$worksheet->getHighestDataRow()
都返回Google文档中的最大设置,包括完全空单元格,通常为26x1000。
据我所知,在Google表格/ Excel中打开它们时,单元格与常规空Excel单元格一样空,即没有空格。
也许Google表格采用了稍微不同的方法来预留"列和行(而不是Excel)(即时生成它们)。
我想获得最高的非空行,以便在循环行时不会不必要地分配大量内存。尊重我使用的格式,我可以在空行中保存一些评估,但最后,我被迫简单地遍历所有行并检查所有单元格是否为空。
答案 0 :(得分:0)
如果您愿意在Google Apps脚本中创建自定义函数,请查看此答案。在导出之前使用此选项,这样您就可以知道有多少行进来。它将查找单列的最后一行。但是,由于它是基于速度的,因此您可能会发现它比其他方法更快地遍历每列。
对于您的脚本,在遍历myLastRow()的结果的forEach循环上尝试Math.max:
Determining the last row in a single column
我注意到您没有指定在列结束之前是否有空单元格。上面的链接确实要求所有单元格都不为空(以Google表格的形式)。