Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应-将XLSX恢复到状态?_Javascript_Reactjs_Xlsx - Fatal编程技术网

Javascript 反应-将XLSX恢复到状态?

Javascript 反应-将XLSX恢复到状态?,javascript,reactjs,xlsx,Javascript,Reactjs,Xlsx,从我的React应用程序中,我尝试实现导入/导出excel。 导入函数是可以的,但是如何将结果传递到状态 我尝试在XLSX中使用this.setState(),但语法错误。 但是如果我使用->const data=XLSX,未定义数据变量 请查看下面的代码,说明导入成功,但不知道如何将其转到状态,请帮助验证 handleUpload(e) { e.preventDefault(); const file = e.target.files[0]; const rea

从我的React应用程序中,我尝试实现导入/导出excel。 导入函数是可以的,但是如何将结果传递到状态

我尝试在XLSX中使用this.setState(),但语法错误。 但是如果我使用->const data=XLSX,未定义数据变量

请查看下面的代码,说明导入成功,但不知道如何将其转到状态,请帮助验证

handleUpload(e) {
    e.preventDefault();
    const file = e.target.files[0];
        const reader = new FileReader();
        const rABS = !!reader.readAsBinaryString;

        reader.onload = (e) => {
            const bstr = e.target.result;
            const wb = XLSX.read(bstr, {type:rABS ? 'binary' : 'array'});
            const wsname = wb.SheetNames[0];
            const ws = wb.Sheets[wsname];
            // const data = XLSX.utils.sheet_to_json(ws); -> this work but cannot edit each row
            XLSX.utils.sheet_to_json(ws).forEach(r => {
                r.itemid = r.itemid.trim(),
                !r.barcode ? r.barcode = "" : r.barcode = r.barcode.trim(),
                r.itemname = r.itemname.trim(),
                r.category = r.category.trim(),
                !r.stocktype ? r.stocktype = "" : r.stocktype = r.stocktype.trim(),
                !r.itemtype ? r.itemtype = "" : r.itemtype = r.itemtype.trim(),
                r.wholesaleprice = Number(r.wholesaleprice),
                r.retailprice = Number(r.retailprice),
                !r.quantitystock ? r.quantitystock = 0 : r.quantitystock = Number(r.quantitystock),
                !r.receivingquantity ? r.receivingquantity = 0 : r.receivingquantity = Number(r.receivingquantity),
                !r.reorderlevel ? r.reorderlevel = 0 : r.reorderlevel = Number(r.reorderlevel),
                !r.description ? r.description = "" : r.description = r.description.trim(),
                !r.comment ? r.comment = "" : r.comment = r.comment.trim(),
                this.createItem(r)
                // this.createItem(r), -> syntax error
                // this.setState({ data: r }) -> syntax error
            });
            //this.setState({ data: data });  
            //console.log(this.state.data);

        };
        if (rABS) reader.readAsBinaryString(file); else reader.readAsArrayBuffer(file);
    }