THML导出Excel
2020-03-10 15:10 Evan.Pei 阅读(157) 评论(0) 编辑 收藏 举报1.导出
<script src="scripts/jquery-1.7.2.min.js"></script> <script src="scripts/rusty1s_table2excel.js"></script>//网上找
html
<body> <div> <button type="button" id="btnExport">导出Excel</button> </div> <div id="myDiv"> <table id="tableExcel" width="70%" border="1" cellspacing="0" cellpadding="0"> <tr> <td colspan="5" align="center">html 表格导出道Excel</td> </tr> <tr> <td>列标题1</td> <td>列标题2</td> <td>类标题3</td> <td>列标题4</td> <td>列标题5</td> </tr> </table> </div> </body>
js
<script language="JavaScript" type="text/javascript"> $("#btnExport").click(function () { exportExcel("tableExcel", "aaa"); }); function addhtml() { var html = ""; for (var i = 0; i <10; i++) { html += "<tr><td>AAAAAAA</td><td>BBBBBBBBBB</td><td>CCCCCCCCCCCCC</td><td>DDDDDDDDDDD</td><td>EEEEEEEEEEE</td></tr>"; } $("#tableExcel").append(html); } addhtml(); function exportExcel(tableid, filename) { var table2excel = new Table2Excel({ defaultFileName: filename }); table2excel.export(document.getElementById(tableid)); } </script>
2.导入
<script src="scripts/jquery-1.7.2.min.js"></script> <script src="scripts/SheetJS_js-xlsx/xlsx.core.min.js.js"></script>
//https://github.com/SheetJS/sheetjs/tree/master/dist
html
<body> <input type="file" id="file" style="display:none;" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"> <a href="javascript:selectFile()">加载本地excel文件</a> <div id="result" contenteditable=""></div> </body>
js
<script type="text/javascript"> function selectFile() { document.getElementById('file').click(); } $(function () { //改变事件 document.getElementById('file').addEventListener('change', function (e) { var files = e.target.files; if (files.length == 0) return; var f = files[0]; if (!/\.xlsx$/g.test(f.name)) { alert('仅支持读取xlsx格式!'); return; } readWorkbookFromLocalFile(f, function (workbook) { readWorkbook(workbook); }); }); loadRemoteFile('./sample/test.xlsx'); }); function readWorkbook(workbook) { var sheetNames = workbook.SheetNames; // 工作表名称集合 var worksheet = workbook.Sheets[sheetNames[0]]; // 这里我们只读取第一张sheet var csv = XLSX.utils.sheet_to_csv(worksheet); document.getElementById('result').innerHTML = csv2table(csv); } // 将csv转换成表格 function csv2table(csv) { var html = '<table>'; var rows = csv.split('\n'); rows.pop(); // 最后一行没用的 //得到数据,这里可以转为json //处理数据 rows.forEach(function (row, idx) { var columns = row.split(','); columns.unshift(idx + 1); // 添加行索引 if (idx == 0) { // 添加列索引 html += '<tr>'; for (var i = 0; i < columns.length; i++) { html += '<th>' + (i == 0 ? '' : String.fromCharCode(65 + i - 1)) + '</th>'; } html += '</tr>'; } html += '<tr>'; columns.forEach(function (column) { html += '<td>' + column + '</td>'; }); html += '</tr>'; }); html += '</table>'; return html; } //读取本地excel文件 function readWorkbookFromLocalFile(file, callback) { var reader = new FileReader(); reader.onload = function (e) { var data = e.target.result; var workbook = XLSX.read(data, { type: 'binary' }); if (callback) callback(workbook); }; reader.readAsBinaryString(file); } function loadRemoteFile(url) { readWorkbookFromRemoteFile(url, function (workbook) { readWorkbook(workbook); }); } </script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构