我可以通过以下方式读取Excel文件
但是它输出文本和奇怪的字符。我需要阅读
文件行方式,读取每一列中的数据并将其转换为JSON。
如何逐行读取xls文件?
发布于 2016-05-07 09:46:53
下面的函数将Excel工作表(XLSX格式)数据转换为JSON。您可以将promise添加到函数中。
var ExcelToJSON = function() {
this.parseExcel = function(file) {
var reader = new FileReader();
reader.onload = function(e) {
var data = e.target.result;
var workbook = XLSX.read(data, {
type: 'binary'
});
workbook.SheetNames.forEach(function(sheetName) {
// Here is your object
var XL_row_object = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
var json_object = JSON.stringify(XL_row_object);
console.log(json_object);
})
};
reader.onerror = function(ex) {
console.log(ex);
};
reader.readAsBinaryString(file);
};
};下面的post包含XLS格式的代码
Excel转JSON javascript代码?
发布于 2013-06-23 15:43:00
老问题,但我应该注意到,从javascript解析XLS文件的一般任务是乏味和困难的,但并不是不可能的。
我有用纯JS实现的基本解析器:
http://oss.sheetjs.com/js-xls/
(XLS文件,您想要的文件)
http://oss.sheetjs.com/js-xlsx/
(XLSX/XLSM/XLSB文件)
这两个页面都是HTML5 File API驱动的XLS/XLSX解析器(您可以拖放您的文件,它将以逗号分隔的列表打印出单元格中的数据)。您还可以生成JSON对象(假设第一行是标题行)。
测试套件
http://oss.sheetjs.com/
显示了使用XHR获取和解析文件的版本。
发布于 2018-10-18 17:08:27
上传
在这里,你可以把数据放进去
格式
var ExcelToJSON = function() {
this.parseExcel = function(file) {
var reader = new FileReader();
reader.onload = function(e) {
var data = e.target.result;
var workbook = XLSX.read(data, {
type: 'binary'
});
workbook.SheetNames.forEach(function(sheetName) {
// Here is your object
var XL_row_object = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
var json_object = JSON.stringify(XL_row_object);
console.log(JSON.parse(json_object));
jQuery( '#xlx_json' ).val( json_object );
})
};
reader.onerror = function(ex) {
console.log(ex);
};
reader.readAsBinaryString(file);
};
};
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
var xl2json = new ExcelToJSON();
xl2json.parseExcel(files[0]);
}
document.getElementById('upload').addEventListener('change', handleFileSelect, false);
这是以下各项的组合
帖子:
https://stackoverflow.com/a/37083658/4742733
https://stackoverflow.com/a/39515846/4742733
祝你好运。
https://stackoverflow.com/questions/8238407
复制相似问题