如何使用获取API和XLSX库加载和解析.xlsx文件

时间:2019-05-15 14:30:27

标签: parsing fetch xlsx

我正在导入这些库:

<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/jszip.js"></script>

并尝试获取和解析保存在我的项目文件夹中的本地文件:

fetch('Eshop_product_list.xlsx').then(res => { 
    return res.blob();
}).then(res => {
    console.log('file:', res);
    var workbook = XLSX.read(res, {
        type: 'binary'
    });
});

但是我无法正常工作。我已经尝试过将XLSX类型参数与res.blob(), res.text(), res.bufferArray()进行不同的组合,但是每次都抛出错误。

正确的方法是什么?

1 个答案:

答案 0 :(得分:0)

尝试使用res.arrayBuffer()代替res.bufferArray()

在您的示例中被替换:

fetch('Eshop_product_list.xlsx').then(res => { 
    return res.arrayBuffer();
}).then(res => {
    console.log('file:', res);
    var workbook = XLSX.read(new Uint8Array(res), {
        type: 'array'
    });
});