如何使用 Javascript 中的 XLSX 库从特定行解析 Excel 文件
How to use XLSX library in Javascript to parse an Excel file from a particular row
我目前正在使用 Javascript 中的库 XLSX
将 Excel 文件转换为 JSON 对象,它给我的结果符合预期。
但是,我当前使用的代码会解析整个 Excel sheet,我不希望这样。我想从特定行(第 14 行)开始解析文件。
这可以使用 XLSX 完成吗?如果是,如何?
下面是我目前的JS代码(取自https://levelup.gitconnected.com/how-to-convert-excel-file-into-json-object-by-using-javascript-9e95532d47c5)
var selectedFile;
document.getElementById("fileUpload")
.addEventListener("change", function (event) {
selectedFile = event.target.files[0]
});
document.getElementById("upload")
.addEventListener("click", function () {
if (selectedFile) {
var fileReader = new FileReader();
fileReader.onload = function (event) {
var data = event.target.result;
var workbook = XLSX.read(data, {
type: "binary"
});
workbook.SheetNames.forEach(sheet => {
let rowObject = XLSX.utils.sheet_to_row_object_array(
workbook.Sheets[sheet]
);
let jsonObject = JSON.stringify(rowObject, null, '\t');
document.getElementById("jsonData").innerHTML = jsonObject;
});
};
fileReader.readAsBinaryString(selectedFile);
}
});
我正在回答我自己的问题,以便以后对任何人有所帮助。
let rowObject = XLSX.utils.sheet_to_row_object_array
(
workbook.Sheets[sheet], {range: 14}
);
参数范围可以添加到给定的函数中,它是代码的一部分。
Excel 现在从第 14 行开始解析,而不是页面的开头。
我目前正在使用 Javascript 中的库 XLSX
将 Excel 文件转换为 JSON 对象,它给我的结果符合预期。
但是,我当前使用的代码会解析整个 Excel sheet,我不希望这样。我想从特定行(第 14 行)开始解析文件。
这可以使用 XLSX 完成吗?如果是,如何?
下面是我目前的JS代码(取自https://levelup.gitconnected.com/how-to-convert-excel-file-into-json-object-by-using-javascript-9e95532d47c5)
var selectedFile;
document.getElementById("fileUpload")
.addEventListener("change", function (event) {
selectedFile = event.target.files[0]
});
document.getElementById("upload")
.addEventListener("click", function () {
if (selectedFile) {
var fileReader = new FileReader();
fileReader.onload = function (event) {
var data = event.target.result;
var workbook = XLSX.read(data, {
type: "binary"
});
workbook.SheetNames.forEach(sheet => {
let rowObject = XLSX.utils.sheet_to_row_object_array(
workbook.Sheets[sheet]
);
let jsonObject = JSON.stringify(rowObject, null, '\t');
document.getElementById("jsonData").innerHTML = jsonObject;
});
};
fileReader.readAsBinaryString(selectedFile);
}
});
我正在回答我自己的问题,以便以后对任何人有所帮助。
let rowObject = XLSX.utils.sheet_to_row_object_array
(
workbook.Sheets[sheet], {range: 14}
);
参数范围可以添加到给定的函数中,它是代码的一部分。
Excel 现在从第 14 行开始解析,而不是页面的开头。