2017-02-09 135 views
1

我一直在尝试将.csv文件转换为.xls或.xlsx,并且我一直在成功地这样做。但问题是该文件没有打开。这表明无法打开文件格式。如何将csv文件转换为sapui5中的xls或xlsx?

这些是我一直在使用的以下代码。

1. var oExport = new sap.ui.core.util.Export({ 
       exportType : new sap.ui.core.util.ExportType({ 
        separatorChar : ",", 
        fileExtension : "xlsx", 
        mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 
       }), 
       models : oModel, 

       rows : { 
        path : "/" 
       }, 
       columns : [ itemsArray ] 
      }); 
      oExport.saveFile(oFileName).always(function() { 
       this.destroy(); 
      }); 

当我像这样下载文件大小为零。因此它没有任何价值。我尝试了另一种方式。

2.var oExport = new sap.ui.core.util.Export({ 
       exportType : new sap.ui.core.util.ExportTypeCSV({ 
        separatorChar : ",", 
        fileExtension : "xlsx", 
        mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 
       }), 
       models : oModel, 

       rows : { 
        path : "/" 
       }, 
       columns : [ itemsArray ] 
      }); 
      oExport.saveFile(oFileName).always(function() { 
       this.destroy(); 
      }); 

当我使用上面的代码文件将有一些数据,但无法打开它。任何人都可以帮助我吗?

谢谢。

+0

您是否从Netweaver网关OData服务获取数据? –

+0

谢谢你回复,你好,我正在获取数据表单网关。但我试图下载前端(视图)中可见的数据。我可以下载数据表格网关,但结果不会如我所料。我只是想将csv转换为xls或xlsx。 – Farooq

+0

如果您直接从网关下载,则向odata请求添加参数(?$ format = xlsx)可以完成该任务。通过UI5,CSV导出开箱即可使用,Excel导出会很棘手 –

回答

0

AFAIK sapui5不提供该功能。所以你可能需要自己管理它。

这可能会帮助你https://github.com/SheetJS/js-xlsx

我们用它来读取xlsx文件,但看起来它可以帮助您编写它们。

+0

谢谢你的建议。我一定会通过它。 – Farooq