1. 程式人生 > >vue或js解析檔案excel表格js通過外掛解析表格讀取檔案

vue或js解析檔案excel表格js通過外掛解析表格讀取檔案

 安裝外掛

cnpm i xlsx --save-dev
cnpm i jquery --save-dev

引入外掛 

 

html引入檔案 

<input type="file" id="excel-file" value="file"/>

dom載入完成解析檔案

     mounted() {
            $('#excel-file').change(function(e) {
                var files = e.target.files;

                var fileReader = new FileReader();
                fileReader.onload = function(ev) {
                    console.log(ev,'ev')
                    try {
                        var data = ev.target.result,
                                workbook = XLSX.read(data, {
                                    type: 'binary'
                                }), // 以二進位制流方式讀取得到整份excel表格物件
                                persons = []; // 儲存獲取到的資料
                    } catch (e) {
                        console.log('檔案型別不正確');
                        return;
                    }

                    // 表格的表格範圍,可用於判斷表頭是否數量是否正確
                    var fromTo = '';
                    // 遍歷每張表讀取
                    for (var sheet in workbook.Sheets) {
                        if (workbook.Sheets.hasOwnProperty(sheet)) {
                            fromTo = workbook.Sheets[sheet]['!ref'];
                            console.log(fromTo);
                            persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
                            // break; // 如果只取第一張表,就取消註釋這行
                        }
                    }

                    console.log(persons);
                };

                // 以二進位制方式開啟檔案
                fileReader.readAsBinaryString(files[0]);
            });
        }

得到解析結果