IRPA:获取动态Excel数据的命令

2020-08-17 02:38发布

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

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


大家好,

我正在尝试读取一个Excel文件,该文件是动态生成的,并且每次携带不同数量的记录。 任何人都可以建议如何读取和使用excel行数据吗?

最好的问候

Shakti Kumar

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

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


大家好,

我正在尝试读取一个Excel文件,该文件是动态生成的,并且每次携带不同数量的记录。 任何人都可以建议如何读取和使用excel行数据吗?

最好的问候

Shakti Kumar

付费偷看设置
发送
5条回答
lukcy2020
1楼 · 2020-08-17 03:13.采纳回答

您好,Shakti,

我有同样的任务。 我写了一点方法逐行扫描excel文件。

注意:我从第二行开始,因为在模板中有一个标题行。

///读取每一行并以数据返回二维数组中的行
 函数getExcelData(){
 var data = [];
 var count = 0;
//excel行数限制1,048,576行
 对于(var x = 2; x <1048577; x ++){
//检查第一个单元格是否不为空
 如果(ctx.excel.sheet.getCell(x,1)!=未定义){
//保存每行Excel数据的2D数组
 data [count] = [];
 }
 其他{
 打破;
 }
//excel列限制16384列
 对于(var y = 1; y <16385; y ++){
//检查右边的列是否不为空
 如果(ctx.excel.sheet.getCell(x,y)!=未定义){
 var cellContent = ctx.excel.sheet.getCell(x,y);
 数据[计数] .push(cellContent);
 }
 其他{
 打破;
 }
 }
 数++;
 }
 返回数据;
 };
 

BR蒂姆

小c菟菟
2楼-- · 2020-08-17 03:22

你好,沙克蒂,

就我而言,我使用下面的逻辑来重用从excel工作表中获得的所有数据。

请注意:这可能不是执行效果最好/最有效的逻辑,但就我而言,它既快速又容易,并且确实起作用。

要检查您可以在商品上调用哪些方法,请检查: https://contextor.eu/dokuwiki2/doku.php?id=lib:ctx:ctx.item

//循环浏览excel模板中的每一行
 对于(var i = 0; i  Excel工作表第一行,第二列的值
       }
 } 
骆驼绵羊
3楼-- · 2020-08-17 03:26

您好,Shakti,

我正在以递归方式动态读取excel数据,并检查单元格是否未定义。

PFB代码相同

 GLOBAL.step({
 Get_Cell:函数(ev,sc,st){
 var rootData = sc.data;
 ctx.workflow('LoopTestWF','7b4fbafd-2186-40b0-9eb3-82e725a74991');
 sc.data.arr = new Array();


//获取单元格
 ctx.log(" Row Number:" + sc.data.rowNumber);
 ctx.log(" Col Number:" + sc.data.colNumber);
 rootData.newItem = ctx.excel.sheet.getCell(sc.data.rowNumber,sc.data.colNumber);
 如果(rootData.newItem!=未定义){
 while(rootData.newItem!= undefined){
 ctx.log(rootData.newItem);
 sc.data.arr.push(rootData.newItem);
 sc.data.colNumber ++;
 rootData.newItem = ctx.excel.sheet.getCell(sc.data.rowNumber,sc.data.colNumber);
 }
 ctx.log(JSON.stringify(sc.data.arr));
//sc.data.jsonObj['data'].push(arr);
 sc.data.rowNumber ++;
 sc.data.colNumber = 1;
                         sc.endStep(GLOBAL.steps.Get_Cell);
 }
 sc.endStep(GLOBAL.steps.release_excel); //release_excel
 回报;
 }
 }); 

希望它会有所帮助。

哎,真难
4楼-- · 2020-08-17 03:04

TB Ketan Gandhirajan 谢谢您的帮助!
还可以让我知道您如何传递读取值 对任何应用程序(如google search/SAP)一一使用上述逻辑。

lukcy2020
5楼-- · 2020-08-17 03:27

Hello Shakti,

也可以使用Excel VBA参考属性。 请检查博客

一周热门 更多>