XLSX.utils.sheet_to_json设置了blankrows:true,但无法获取到开头的空白行
在用sheetJs的XLSX库做导入,遇到一个bug。如果开头行是空白行的话,调用sheet_to_json转数组获得的数据也是没有包含空白行的。这样会导致在设置对应的起始行时,解析数据不生效。
目前是直接跳过了开头的两行空白行
正确应该获得一下数据
问题是我查了官方的issue,也没有找到解决方法。
达咩,但我把问题丢给了deepseek,他给出了解决方法,我在试了之后发现确实可行!
面向AI编程~
解决方案
代码示例
const worksheet = workbook.Sheets[key];// 强制扩展范围到第1行开始 xlsx会跳过开头的空白行,即使设置了blankrows为trueconst range = XLSX.utils.decode_range(worksheet['!ref']);range.s.r = 0; // 起始行设为0(即Excel的第1行)worksheet['!ref'] = XLSX.utils.encode_range(range);const sheetData = XLSX.utils.sheet_to_json(worksheet, {header: 1, //生成数组的数组defval: null, // 使用指定值代替 null 或未定义blankrows: true, // 在输出中包含空白行});