XLSX通过UI5上传到BACKend(ABAP)

2020-09-07 03:57发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我们正在通过BSP...

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

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


大家好,

我们正在通过BSP从SAP UI5网页上载XLS(x)文件(其中,文件数据以Xstring格式读取(来自http正文的内容)),该文件又作为输入提供给ABAP类方法

在将接收到的Xstring转换为String时,我们遇到了问题,我们使用了所有FM的" SCMX_XTSRING_to_Binary"和" SCMS_BINARY_TO_STRING"。并且还尝试了" cl_bcs_convert"等类。

注意:仅xls(x)文件不能很好地进行转换。 它可用于制表符分隔的/CSV文件,这不是我们的实际要求。

问题是我们无法访问用户的硬盘驱动器来从后端读取文件,我们仅有的输入是Xstring,当转换为字符串时,它会提供许多其他特殊字符,以尝试检索文件数据。

通过UI加载时,是否还有其他方法可以恢复xls(x)文件的内容? 请提供您的输入

我们没有使用CRM系统,并且没有活动的X控件。

正在使用的系统,Compoenet版本:SAP NetWeaver AS ABAP 7.31

感谢和问候,

Archana

6条回答
太Q了
2020-09-07 04:21

尊敬的Archana,

ABAP无法将上载的XLSX或XLS流转换为已知格式。 唯一的希望是,您必须在UI5应用程序中使用OLE(ActiveX),从浏览器呈现excel文件,然后将其上传到abap。 在ABAP中,您可以进行字符串操作。

我也在尝试做同样的事情。 但是我无法使用activeX从UI读取excel文件。

以下功能可以正常工作。 但是当我与UI5合并时,它显示"自动化服务器无法创建对象"????

function readExcel()
{
var path;
alert("试图读取Excel文件");
path =" C:\\ Users \\ spillaii \\ Desktop \ \ Book1.xls";
试试{
var excel = new ActiveXObject(" Excel.Application");
excel.Visible = false;
var excel_file = excel.Workbooks.Open(path);
alert( excel_file.worksheets.count);
var excel_sheet = excel_file.Worksheets(1);
var data = excel_sheet.Cells(1,1).Value;
alert(data);


}
捕获(ex)
{
alert(" Exception:" + ex.message);
}
}

一周热门 更多>