2020-09-05 18:36发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
有人可以帮助我将Excel文件的内容读取到表中的步骤吗?
我正在使用文件上传Ui元素浏览文件。
但是我无法直接从Input流中读取它。
将文件存储在服务器上然后从那里读取是强制性的吗?
非常感谢。
此致
Archana。
嗨,
最近,我上载了包含标题和订单项的CSV文件。 我的要求是独特的,因此我必须从头开始编写所有内容,但是我使用了从SCN社区中学到的一些经验教训。
我使用sap.ui.unified.FileUploader UI元素进行上传。 在onChange事件中,我读取了文件内容。
将此文件解析为CSV分隔字符串。 CSV文件中的列标题是相同的模型属性。 就我而言,我必须上传标题和行。 因此,我遵循的约定是,第一行是标头标签(模型属性),第二行是标头数据,第三行是线标签(模型的线属性),第四行起是行数据。 在基于标题/行标签的上传过程中,您还可以进行转换。
如果您在这方面需要任何进一步的帮助,请告诉我。
谢谢
Dheeram
你好拉曼,
我尝试了这段代码,它工作正常。 但是,文件上传仅是第一次。 当我尝试再次上传相同文件时,它不起作用。 如果我使用其他名称上传文件,则可以正常工作。 在您的jsbin示例中也是如此。
如果您有解决办法,请告诉我。
Charles
嗨Archana,
查看此博客-
使用SAPUI5 FileLoader和HANA扩展服务将数据上传到HANA表
也是这个线程-
在sap ui中浏览和上传csv/excel文件... | SCN
Sai Vellanki。
您好Archana,
您可以从此链接下载XLSX.js
GitHub-SheetJS/js-xlsx:XLSX/XLSM/XLSB/XLS/SpreadsheetML(Excel电子表格)/ ODS解析器和编写器
并将其导入到SAPUI5 Project中,仅一个文件就足够了。
您必须在该文件中注释一小段代码
然后,在您的fileUploader函数中,将此代码写入控制器中
handleExcelUpload:函数(e){
this._import(e.getParameter(" files")&& e.getParameter(" files")[0]);
},
_import:函数(文件){
if(file && window.FileReader){
var reader = new FileReader();
var result = {},数据;
reader.onload = function(e){
数据= e.target.result;
var wb = XLSX.read(data,{type:'binary'});
wb.SheetNames.forEach(function(sheetName){
var roa = XLSX.utils.sheet_to_row_object_array(wb.Sheets [sheetName]);
if(roa.length> 0){
result [sheetName] = roa;
}
});
返回结果;
reader.readAsBinaryString(file);
在结果变量中,您可以获取所有JSON格式的Excel工作表数据,然后将其绑定到SAPUI5表中
A。 Vishnu
您好专家
有人可以在这里帮忙吗?
感谢与问候,
Archana
最多设置5个标签!
嗨,
最近,我上载了包含标题和订单项的CSV文件。 我的要求是独特的,因此我必须从头开始编写所有内容,但是我使用了从SCN社区中学到的一些经验教训。
我使用sap.ui.unified.FileUploader UI元素进行上传。 在onChange事件中,我读取了文件内容。
将此文件解析为CSV分隔字符串。 CSV文件中的列标题是相同的模型属性。 就我而言,我必须上传标题和行。 因此,我遵循的约定是,第一行是标头标签(模型属性),第二行是标头数据,第三行是线标签(模型的线属性),第四行起是行数据。 在基于标题/行标签的上传过程中,您还可以进行转换。
如果您在这方面需要任何进一步的帮助,请告诉我。
谢谢
Dheeram
你好拉曼,
我尝试了这段代码,它工作正常。 但是,文件上传仅是第一次。 当我尝试再次上传相同文件时,它不起作用。 如果我使用其他名称上传文件,则可以正常工作。 在您的jsbin示例中也是如此。
如果您有解决办法,请告诉我。
谢谢
Charles
嗨Archana,
查看此博客-
使用SAPUI5 FileLoader和HANA扩展服务将数据上传到HANA表
也是这个线程-
在sap ui中浏览和上传csv/excel文件... | SCN
此致
Sai Vellanki。
您好Archana,
您可以从此链接下载XLSX.js
GitHub-SheetJS/js-xlsx:XLSX/XLSM/XLSB/XLS/SpreadsheetML(Excel电子表格)/ ODS解析器和编写器
并将其导入到SAPUI5 Project中,仅一个文件就足够了。
您必须在该文件中注释一小段代码
然后,在您的fileUploader函数中,将此代码写入控制器中
handleExcelUpload:函数(e){
this._import(e.getParameter(" files")&& e.getParameter(" files")[0]);
},
_import:函数(文件){
if(file && window.FileReader){
var reader = new FileReader();
var result = {},数据;
reader.onload = function(e){
数据= e.target.result;
var wb = XLSX.read(data,{type:'binary'});
wb.SheetNames.forEach(function(sheetName){
var roa = XLSX.utils.sheet_to_row_object_array(wb.Sheets [sheetName]);
if(roa.length> 0){
result [sheetName] = roa;
}
});
返回结果;
}
reader.readAsBinaryString(file);
}
},
在结果变量中,您可以获取所有JSON格式的Excel工作表数据,然后将其绑定到SAPUI5表中
此致
A。 Vishnu
您好专家
有人可以在这里帮忙吗?
感谢与问候,
Archana
一周热门 更多>