我使用JavaScript中的类从excel文件中获取JSON数据,我将创建该类,并且我的数据将使用HTML打印在屏幕上。我写的大部分内容都无效。键入JavaScript类并创建对象时出现错误。
class ExcelModal {
name : string;
id : string;
constructor(id, name) {
this.name = name;
this.id = id;
}
}
function ExcelToJSON () {
var list = new ExcelModal();
document.getElementById("upload").addEventListener("change", handleFileSelect, false);
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);
list = JSON.parse(json_object);
console.log( list );
jQuery().val( json_object );
list.forEach( function (obj){
$('#id).append('<input name="accesories" type="checkbox" value="'+obj.id+'"/> '+obj.name+'<br/>');
});
})
};
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]);
}
答案 0 :(得分:0)
ExcelModal
初始化时需要2个参数
var list = new ExcelModal('id', 'name');
答案 1 :(得分:0)
您可能已经将Typescript与angular一起使用了。请确保仅将两个参数传递给
ExcelModal
类的实例。
如果您使用的是JavaScript,只需删除 ExcelModal 类属性id
和name
(请参阅 this < / strong>表示 为什么? ),因此您的JS类就像-
class ExcelModal {
constructor(id, name) {
this.name = name;
this.id = id;
}
}
let em = new ExcelModal(1, 'abcd');
console.log(em.name);