在尝试在 Reactjs 中读取 excel 文件时,我已经在尝试和敲我的头了。
我已经尝试了多个库,比如Sheetjs、excel-parser、exceljs等等(比如 8-9)库。
我在每个库中都遇到了奇怪且不同的错误。
例如,我正在使用excel-parser并收到以下错误
Module not found: 'child_process'
那是因为它是一个节点module,不能在浏览器中工作。
任何人都知道一些可以在浏览器中使用reactjs 的好而简单的库?
在尝试在 Reactjs 中读取 excel 文件时,我已经在尝试和敲我的头了。
我已经尝试了多个库,比如Sheetjs、excel-parser、exceljs等等(比如 8-9)库。
我在每个库中都遇到了奇怪且不同的错误。
例如,我正在使用excel-parser并收到以下错误
Module not found: 'child_process'
那是因为它是一个节点module,不能在浏览器中工作。
任何人都知道一些可以在浏览器中使用reactjs 的好而简单的库?
我已经使用Sheetjs的 npm 版本xlsx成功读取了 excel 文件。
这是代码:
import * as XLSX from 'xlsx';
//f = file
var name = f.name;
const reader = new FileReader();
reader.onload = (evt) => { // evt = on_file_select event
/* Parse data */
const bstr = evt.target.result;
const wb = XLSX.read(bstr, {type:'binary'});
/* Get first worksheet */
const wsname = wb.SheetNames[0];
const ws = wb.Sheets[wsname];
/* Convert array of arrays */
const data = XLSX.utils.sheet_to_csv(ws, {header:1});
/* Update state */
console.log("Data>>>"+data);
};
reader.readAsBinaryString(f);
诺曼阿里!谢谢你。
我用过,这个代码
const handleUpload = (e) => {
e.preventDefault();
var files = e.target.files, f = files[0];
var reader = new FileReader();
reader.onload = function (e) {
var data = e.target.result;
let readedData = XLSX.read(data, {type: 'binary'});
const wsname = readedData.SheetNames[0];
const ws = readedData.Sheets[wsname];
/* Convert array to json*/
const dataParse = XLSX.utils.sheet_to_json(ws, {header:1});
setFileUploaded(dataParse);
};
reader.readAsBinaryString(f)
}
我发现 xlsx 工作得很好。 xlsx 包