在用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, // 在輸出中包含空白行});