JavaScript 将 HTML 表格内容保存为 Excel 文件 - 完整指南
要将HTML中的表格内容保存为Excel文件,可以使用JavaScript的Blob和URL.createObjectURL方法来实现。以下是一个示例代码:
function exportTableToExcel(tableID, filename = ''){\n // 获取表格的HTML内容\n var tableHTML = document.getElementById(tableID).outerHTML.replace(/ /g, '%20');\n \n // 创建一个Blob对象\n var blob = new Blob(['\ufeff', tableHTML], {\n type: 'application/vnd.ms-excel'\n });\n \n // 创建一个URL对象,并将Blob对象转换为URL\n var url = URL.createObjectURL(blob);\n \n // 创建一个a标签,并设置其属性\n var a = document.createElement('a');\n a.href = url;\n a.download = filename + '.xls';\n \n // 模拟点击a标签进行下载\n a.click();\n \n // 释放URL对象\n URL.revokeObjectURL(url);\n}
使用示例:
<table id="myTable">\n <tr>\n <th>姓名</th>\n <th>年龄</th>\n <th>性别</th>\n </tr>\n <tr>\n <td>张三</td>\n <td>25</td>\n <td>男</td>\n </tr>\n <tr>\n <td>李四</td>\n <td>30</td>\n <td>女</td>\n </tr>\n</table>\n
<button onclick="exportTableToExcel('myTable', '文件名')">导出Excel</button>
在这个示例中,我们创建了一个名为exportTableToExcel的函数,它接受两个参数:tableID(表格的ID)和filename(要保存的Excel文件名,默认为空)。函数首先获取表格的HTML内容,然后创建一个包含HTML内容的Blob对象,并将其转换为URL。接下来,我们创建一个带有下载属性的a标签,并将URL赋值给其href属性,同时设置下载的文件名。最后,我们模拟点击a标签来触发下载,然后释放URL对象。
请注意,这种方法在大多数现代浏览器上都可以工作良好,但在某些旧版浏览器上可能不支持Blob和URL.createObjectURL方法。
原文地址: https://www.cveoy.top/t/topic/pulx 著作权归作者所有。请勿转载和采集!