<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> 点击选择文件:<input type="file"> <button onclick="creatdTable()">点击下载</button> <table id="testTable"> <thead> <tr> <th>sss</th> <th>sss</th> <th>sss</th> <th>sss</th> </tr> </thead> <tbody> <tr> <td rowspan="2">aa</td> <td>aa</td> <td>aa</td> <td>aa</td> </tr> <tr> <td>aa</td> <td>aa</td> <td>aa</td> </tr> </tbody> </table> </body> </html> <script src="../sheetjs-github/dist/xlsx.full.min.js"></script> <script>
导入 document.querySelector("input").onchange = function fildfunction() { let reader = new FileReader() reader.readAsBinaryString(this.files[0]); reader.onload = function () { try { workbook = XLSX.read(reader.result, { type: 'binary' }), // 以二进制流方式读取得到整份excel表格对象 persons = []; // 存储获取到的数据 } catch (e) { console.log('文件类型不正确'); return; } // 表格的表格范围,可用于判断表头是否数量是否正确 var fromTo = ''; console.log(workbook); alert("11") // 遍历每张表读取 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); } }
数据直接导出 function download() { var arr = [ ['S', 'h', 'e', 'e', 't', 'J', 'S'], ["1", 2, 3, 4, 5], ] let workbook = XLSX.utils.book_new(); const ws = XLSX.utils.aoa_to_sheet(arr); XLSX.utils.book_append_sheet(workbook, ws, "workSheetName"); return XLSX.writeFile(workbook, "fileName.xlsx", { type: 'binary' }); }
页面表格导出 function creatdTable() { let el = document.querySelector("#testTable") const options = { raw: true }; const workbook = XLSX.utils.table_to_book(el, options); return XLSX.writeFile(workbook, "fileName.xlsx", { type: 'binary' }); } </script>
标签:aa,XLSX,sheet,表格,utils,导出,workbook From: https://www.cnblogs.com/Ma-YuHao/p/17171995.html