You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让SheetJS读取Excel文件时不跳过开头的空行/空列?

解决SheetJS解析Excel时跳过开头空行空列的问题

要保留开头的空行和空列,让A1单元格对应数组的arr[0][0],只需在XLSX.utils.sheet_to_json的配置中添加两个关键参数:

修改后的代码

function ReadFile(myFile) {
    var reader = new FileReader();
    reader.readAsBinaryString(myFile);
    reader.onload = function(e) {
        var data = e.target.result;
        var workbook = XLSX.read(data, {
            type: 'binary'
        });
        WorkWithData(workbook);
    };
}

function WorkWithData(workbook) {
    let sheet1Name = workbook.SheetNames[0];
    let sheet1 = workbook.Sheets[sheet1Name];
    // 获取工作表的完整范围,若未定义则默认从A1开始
    const fullRange = sheet1['!ref'] ? XLSX.utils.decode_range(sheet1['!ref']) : XLSX.utils.decode_range('A1:A1');
    let arr = XLSX.utils.sheet_to_json(sheet1, {
        header: 1,
        defval: "",
        blankrows: true, // 保留空行,不跳过前导空行
        range: fullRange // 强制解析完整工作表范围,包含前导空列
    });
}

参数说明

  • blankrows: true:默认SheetJS会跳过内容为空的行,开启该参数后,前导空行会被保留为全空字符串的数组(如["","","",""])。
  • range: fullRange:指定解析的单元格范围为工作表的完整区间,确保前导空列被包含,不会从第一个非空列开始解析。

内容的提问来源于stack exchange,提问作者Neph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:12:42