gpt4 book ai didi

javascript - 用于解析 excel 的 XLSX 解析器

转载 作者:行者123 更新时间:2023-12-03 06:50:39 25 4
gpt4 key购买 nike

我正在尝试解析 xlsx 文件并保存为表格(沿着 Excel to JSON javascript code? 的行,这对 xls 文件工作正常)。但是,我无法转换为 json 并显示为表格。请在下面找到代码片段。任何人都可以指导如何关闭此问题。

function filePicked(oEvent) {
// Get The File From The Input
var oFile = oEvent.target.files[0];
var sFilename = oFile.name;
// Create A File Reader HTML5
var reader = new FileReader();

// Ready The Event For When A File Gets Selected
reader.onload = function(e) {
var data = e.target.result;
var cfb = XLSX.read(data, {type: 'binary'});
var wb = XLSX.parse_xlscfb(cfb);
wb.SheetNames.forEach(function(sheetName) {
// Obtain The Current Row As CSV
//var sCSV = XLSX.utils.make_csv(wb.Sheets[sheetName]);
var data = XLSX.utils.make_json(wb.Sheets[sheetName], {header:1});
alert(data.length);
//var columns = data[0].split(",");
$.each(data, function( indexR, valueR ) {
var sRow = "<tr>";
$.each(data[indexR], function( indexC, valueC ) {
sRow = sRow + "<td>" + valueC + "</td>";
});
sRow = sRow + "</tr>";
$("#my_file_output").append(sRow);
});
});
};

// Tell JS To Start Reading The File.. You could delay this if desired
reader.readAsBinaryString(oFile);

}

最佳答案

使用此代码:注意:使用 jszip.js 和 xlsx.js 库

reader.onload = function(evt) {
debugger;
var data = evt.target.result;
//var xlsx = XLSX.read(data, {type: 'binary'});
var arr = String.fromCharCode.apply(null, new Uint8Array(data));
var xlsx = XLSX.read(btoa(arr), {
type: 'base64'
});
result = xlsx.Strings;
result = {};
xlsx.SheetNames.forEach(function(sheetName) {
var rObjArr = XLSX.utils.sheet_to_row_object_array(xlsx.Sheets[sheetName]);
if (rObjArr.length > 0) {
result[sheetName] = rObjArr;
}
});
return result;
// that.b64toBlob(xlsx, "binary");
};
reader.readAsArrayBuffer(file);

使用所有浏览器都支持的readAsArrayBuffer方法。

关于javascript - 用于解析 excel 的 XLSX 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37524747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com