使用AngularJS将表格从Excel工作表导入HTML表格

时间:2016-06-14 11:26:49

标签: angularjs html5 user-interface

如何将Excel工作表导入HTML表格,以便根据列名称将每一行转换为Object。 使用Angular JS

P.S:未来的排序表需要对象。

1 个答案:

答案 0 :(得分:1)

我为此开发了一个组件。请看看它是否对您有所帮助:https://github.com/Helvio88/angular-xlsx-model

使用

<input type="file" xlsx-model="excel">

将使您能够选择文件 对于多个文件:

<input type="file" xlsx-model="excel" multiple> 

可以进一步扩展以过滤掉特定扩展等。请参阅http://www.w3schools.com/jsref/dom_obj_fileupload.asp

选择文件后,将以此格式创建以xlsx-model属性命名的Angular JSON对象(在本例中为&#39; excel&#39;):

$ scope.excel(多个文件):

{
    "file1.xlsx": {
        "Sheet1": [
            {
                "Col1Name": "Row1Col1_Value",
                "Col2Name": "Row1Col2_Value"
            },
            {
                "Col1Name": "Row2Col1_Value",
                "Col2Name": "Row2Col2_Value"
            }
        ],
        "Sheet2" : [...]
    },
    "file2.xlsx": {...}
}

如果您选择了多个文件,该模型有效。对于单个文件,它略有不同 $ scope.excel(单个文件):

{
    "Sheet1": [
        {
            "Col1Name": "Row1Col1_Value",
            "Col2Name": "Row1Col2_Value"
        },
        {
            "Col1Name": "Row2Col1_Value",
            "Col2Name": "Row2Col2_Value"
        }
    ],
    "Sheet2" : [...]
}

游乐场: http://plnkr.co/edit/inETA0PcxIkm4EmS9qjD?p=preview