



function exportBasicTable(tableId, filename = 'data.xls') {
const table = document.getElementById(tableId);
if (!table) {
console.error("Table not found!");
return;
}
let html = table.outerHTML;
// 稍微处理下HTML,确保Excel能更好地解析,比如编码问题
html = encodeURIComponent(html);
const a = document.createElement('a');
a.href = 'data:application/vnd.ms-excel,' + html;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
console.log("尝试导出基础Excel文件...");
}
// 调用示例:exportBasicTable('myTableId', '我的报告.xls');// 假设你已经通过npm安装了xlsx库
// import * as XLSX from 'xlsx'; // ES6 module
// const XLSX = require('xlsx'); // CommonJS
function exportAdvancedTable(tableId, filename = 'data.xlsx') {
const table = document.getElementById(tableId);
if (!table) {
console.error("Table not found!");
return;
}
// 这一步是关键,SheetJS可以直接从DOM节点解析表格
const workbook = XLSX.utils.table_to_book(table, { sheet: "Sheet1" });
// 如果需要更精细的控制,比如设置单元格类型,可以先提取数据再手动构建sheet
// const ws = XLSX.utils.aoa_to_sheet(dataArray);
// XLSX.utils.book_append_sheet(workbook, ws, "MyCustomSheet");
// 写入文件
XLSX.writeFile(workbook, filename);
console.log("使用SheetJS导出Excel文件...");
}
// 调用示例:exportAdvancedTable('myTableId', '我的精确报告.xlsx');以上就是HTML表格如何导出为Excel文件?有哪些实现方案?的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号