0

セルが空の場合を除いて、コードは正常に機能しています。空のセルは無視されます。私は知っている

  • 解決策 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);
                        }
                    }
4

2 に答える 2