如何在angularjs中更改文件(.xlsx或任何文件)中的bytearray

cnh2zyt3  于 2023-06-04  发布在  Angular
关注(0)|答案(2)|浏览(535)

我从我的API中得到一个字节数组作为响应,它是从.xlsx文件转换而来的。现在我需要在浏览器中打开/下载这个字节数组(转换为以前的文件扩展名后)。帮帮我,我怎么能那样做?我很无助

lzfw57am

lzfw57am1#

您可以尝试在浏览器中读取数据,客户端使用readAsArrayBuffermore docs on mozilla website
但我不确定你是否能够在纯JS中解析.xlsx的内容,下面是一个库的例子:http://oss.sheetjs.com/js-xlsx/是什么
XLSX / XLSM / XLSB / XLS / SpreadsheetML(Excel Spreadsheet)/ ODS解析器和编写器

afdcj2ne

afdcj2ne2#

openPDF(data, "DataSheet.pdf");//data is your bytearray intead of pdf try to ur file format

// ...

function openPDF(resData, fileName) {
    var ieEDGE = navigator.userAgent.match(/Edge/g);
    var ie = navigator.userAgent.match(/.NET/g); // IE 11+
    var oldIE = navigator.userAgent.match(/MSIE/g);

    var blob = new $window.Blob([resData], {
        type: 'application/pdf'
    });

    if (ie || oldIE || ieEDGE) {
        $window.navigator.msSaveBlob(blob, fileName);
    } else {

        var file = new Blob([resData], {
            type: 'application/pdf'
        });
        var fileURL = URL.createObjectURL(file);

        $window.open(fileURL);
    }
}

相关问题