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

How to load and parse .xlsx file using fetch API and XLSX library

我正在导入这些库:

<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() 的不同组合,但每次都会抛出错误。

正确的方法是什么?

尝试使用 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'
    });
});