代码工作正常,除了单元格为空的地方,空单元格被忽略。我知道有
解决方案 1 .Condition "if(h===undefined)continue;" 在“xlsx.core.min.js”中将其注释掉。
解决方案 2。通过在运行此 XLSX.utils.sheet_to_json(wb.Sheets[name] , {blankCell : false}) 时传递 Condition 额外参数。在第号行添加条件。19150 “如果(defval === undefined && blankCell)继续;” 在文件 xlsx.js 等中。
但是我的项目中没有“xlsx.core.min.js”文件,而且我不能细化一行。19150 为解决方案 2 添加代码,而且我没有创建 JSON 对象。
我的代码:
onChange = (event) => {
let newRows = this.state.rows;
let files = event.target.files, f = files[0];
var reader = new FileReader();
reader.onload = (event) => {
let newRowCt = this.state.rowCt;
let newColCt = this.state.colCt;
var data = new Uint8Array(event.target.result);
var workbook = XLSX.read(data, { type: 'array' });
const sn = workbook.SheetNames[0];
const sheet = workbook.Sheets[sn];
console.log(sheet["!ref"]);
let row = 1;
let col = 0;
Object.keys(workbook.Sheets[sn]).map((cell) => {
if (sheet[cell].w !== undefined) {
if (row !== parseInt(cell.slice(1), 10)) {
row++;
col = 0;
if (row >= newRowCt) {
newRows.push([]);
for (let k = 0; k < newColCt; k++) {
newRows[row].push("");
}
newRowCt++;
console.log(newColCt);
}
}