import dayjs from "dayjs";
import * as XLSX from "xlsx";
import XLSXS from "xlsx-style";
export function export2Excel(info: {
// 文件名(工作簿名)
title: string;
// 数据
data: any[] | Record<string, any>[];
// 表格列
header: {
title: any;
key: any;
}[];
}) {
const {
title, data, header } = info;
// title重命名
const tableTitle = `${
title}_评论数据_${
dayjs().format(
"YYYY-MM-DD_HH_mm_ss"
)}`;
// 创建一个工作簿
const wb = XLSX.utils.book_new();
// 添加sheet到工作簿中
addSheet({
xl: XLSX,
wb,
data,
header,
tableTitle,
});
// 文件存储成blob流数据(二进制流)
const tmpDown = new Blob([
s2ab(
// 为了解决样式丢失问题只能用XLSXD来进行转换
XLSXS.write(wb, {
bookType: "xlsx",
type: "binary",
})
) as any,
]);
// 下载二进制流(title是下载文件的名字)
downExcel(tmpDown, tableTitle + ".xlsx");
}
/**
* 添加sheet页
* @param info
* wb: 工作簿
* xl: XSLX库
* data: 表格数据
* header: 表格头
* title: 表格标题
*
*/
const addSheet = (info: {
wb: any;
xl: any;
data: any[] | Record<string, any>[];
header: {
title: any;
key: any<
xlsx实现excel下载功能——js
最新推荐文章于 2025-10-15 13:09:40 发布

最低0.47元/天 解锁文章
1283

被折叠的 条评论
为什么被折叠?



