如何让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
相关产品推荐
相关产品推荐

