セルが空の場合を除いて、コードは正常に機能しています。空のセルは無視されます。私は知っている
解決策 1 .Condition "if(h===undefined)continue;" 「xlsx.core.min.js」でコメントアウトします。
解決策 2。この XLSX.utils.sheet_to_json(wb.Sheets[name] , {blankCell : false}) の実行中に Condition 追加パラメーターを渡すことによって。行番号に条件を追加します。19150 "if(defval === 未定義 && 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);
}
}