在前端開發中,可能會遇到前端如何讀取Excel文件的數據的需求,(省略一千字。。。)。廢話少說,直接上代碼。html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="js/jquery.js"></script> <script src="js/xlsx.core.min.js"></script> <title>上傳excel文件並讀取數據</title> </head> <body> <input type="file" id="file"> <div id="container" style="width: 400px; height: 400px;"></div> <script> $('#file').change(function (e) { var files = e.target.files; var fileReader = new FileReader(); // 將文件內容讀入內存 fileReader.onload = function (ev) { // 當讀取操做成功完成時調用 // console.log(this.result); // 查看文件輸出內容 try { var data = ev.target.result, //以二進制流方式讀取獲得表格中數據 workbook = XLSX.read(data, { type: 'binary' }), info = [];//存儲獲取到的數據 } catch (e) { alert('文件類型不正確'); return; } var fromTo = ''; //遍歷每張表讀取 for (var sheet in workbook.Sheets) { if (workbook.Sheets.hasOwnProperty(sheet)) { fromTo = workbook.Sheets[sheet]['!ref']; info = info.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet])); } } }; //以二進制方式打開文件 fileReader.readAsBinaryString(files[0]); }); </script> </body> </html>
說明:前端
1. jquery.js的下載地址:http://www.bootcdn.cn/jquery/jquery
2. xlsx.core.min.js的下載地址:https://github.com/SheetJS/js-xlsx/tree/master/distgit