Excel库问题

2020-08-16 17:54发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


当我在附加的excel文件中使用函数ctx.excel.getLastRow2('A2')时,我在excel库中发现了问题,总是返回1000,但是当我使用ctx.excel.getLastRow('A2')时,它返回了精确值 值。 如下图所示。  1591496970221.jpg

因此,我想知道getLastRow和getLastRow2之间的区别以及何时使用它。

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


当我在附加的excel文件中使用函数ctx.excel.getLastRow2('A2')时,我在excel库中发现了问题,总是返回1000,但是当我使用ctx.excel.getLastRow('A2')时,它返回了精确值 值。 如下图所示。  1591496970221.jpg

因此,我想知道getLastRow和getLastRow2之间的区别以及何时使用它。

谢谢。

付费偷看设置
发送
2条回答
悻福寶寶
1楼-- · 2020-08-16 18:56

嗨,

请考虑Pronab的回答。 他的解释应该可以帮助您解决问题。

此致

Allan

半个程序猿
2楼-- · 2020-08-16 18:39

你好,

这两个库函数的主要区别在于它们遵循的方法。

对于getLastRow:

它尝试从提供的单元格中获取第一个空白/空单元格,并将其返回行组件。

 var act = objRange.End(ctx.excel.constants.xlDown).Activate;
 var lastRow = _excelApp.ActiveCell.Row +1; 

对于getLastRow2:

从提供的单元格中,尝试获取带有标志" Last Cell "的" Special Cell ",并将其返回行组件。

 var lastRow = objRange.SpecialCells(ctx.excel.constants.xlCellTypeLastCell).Row; 

如何测试它们之间的差异:

创建一个空白表并在A列中填充一些随机值,并在它们之间留有空隙,现在getLastRow将返回找到的第一个空白,而getLastRow2将返回实际的带有某些值的最后一行。 更有趣的是,如果您运行提供单元格B1的函数(请注意整个B列为空白),因为输入函数getLastRow将返回1048577,而getLastRow2将以A列作为引用并返回您得到的相同输出。

针对您的情况:

屏幕快照表明这两个函数应该返回相同的值,但这不是因为我怀疑1-1000行的格式设置为表格,您可以将所有条目快速复制到多带带的工作表并离开 它们未格式化,则两个函数应返回相同的值。

一周热门 更多>