首页 > 解决方案 > 使用 javascript 将 base64 字符串保存到 excel (.xls) 文件?

问题描述

我将一个 excel 文件转换为 base64 字符串作为 web 后端,并可以使用下面的 Java 代码将其恢复为 excel 文件: String destinationPath = "e:\out1.xls";

        //decode Base64 String to excel file
        FileOutputStream fos = new FileOutputStream(destinationPath); 
        bytes = new sun.misc.BASE64Decoder().decodeBuffer(content);
        fos.write(bytes);
        fos.flush();
        fos.close();

我可以使用 base64 字符串响应前端,但是当我尝试使用 javascript 将其导出为 excel (.xls) 文件时,我总是得到混乱的代码。下面是代码: onClick: function(){

// below is base64 String snippet.
        var base64Str = "0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAOwADAP7/CQAGAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA\r\nEAAA/v///wAAAAD+////AAAAAAEAAAD/////////////////////////////////////////////\r\n////////////////////////////////////////////////////////////////////////////\r\n////////////////////////////////////////////////////////////////////////////\r\n////////////////////////////////////////////////////////////////////////////\r\n////////////////////////////////////////////////////////////////////////////\r\n////////////////////////////////////////////////////////////////////////////\r\n////////////////////////////////////////////////////////////////////////////\r\n//////////////////////////////////////////////////////////////////////////9S\r\nAG8AbwB0ACAARQBuAHQAcgB5AAAAAAAAAAAAAA .........";

        base64Str = base64Str.replace(/\\r\\n/g,"");

        var decoder = Ext.util.Base64.decode(fileStr);
        testApp.view.main.FileExport.saveAs(decoder,'SHANGTOUDI_JF_20180320_0800.xls','UTF-8');
    }

不得不说,我可以用这个方法成功导出txt文件。任何建议表示赞赏。

标签: javascriptexcelbase64

解决方案


推荐阅读