【问题标题】:How to write class in javascript file如何在javascript文件中编写类
【发布时间】:2019-07-09 09:04:25
【问题描述】:

我从带有 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]);

}

【问题讨论】:

  • 欢迎来到 Stack Overflow!请拿起tour(你会得到一个徽章!),看看周围,通读help center,尤其是How do I ask a good question? 我还推荐Jon Skeet的Writing the Perfect Question “我得到一个错误” 总是复制并粘贴 exact 错误,并说明在代码中出现错误的位置。还要描述你为理解问题所做的工作。
  • 你的json_object是什么?

标签: javascript excel angular class import


【解决方案1】:

您可能使用带有 Angular 的 Typescript。请确保您只将 2 个参数传递给 ExcelModal 类的实例。

如果您使用的是 JavaScript,只需删除 ExcelModal 类属性 idname(请参阅 this 以获得 >为什么?),所以你的 JS 类会像 -

class ExcelModal {
    constructor(id, name) {
        this.name = name;
        this.id = id;
    }
}

let em = new ExcelModal(1, 'abcd');
console.log(em.name);

【讨论】:

    【解决方案2】:

    ExcelModal初始化时需要2个参数

    var list = new ExcelModal('id', 'name');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 2017-05-05
      • 1970-01-01
      • 2017-01-04
      • 2022-09-29
      • 2011-10-15
      相关资源
      最近更新 更多