前端JS实现导出xlsx文件
2023-12-13 17:56:42
需求背景: 需要导出表格的数据,由于后端不提供导出接口,所以由前端通过JSON数据导出实现。
使用的插件:js-export-excel
安装: npm install js-export-excel
// 导入依赖
const ExportJsonExcel = require('js-export-excel');
/**
* JSON数据-文件导出
*@param data [ 要导出的 object 数据]
**/
const exportFile = (data: any, fileName?: string) => {
let sheetData = [];
// 处理数据
data.forEach((item) => {
/** 表头为参考示例,请根据实际情况自定义
* sheetHeader: [ '姓名', '年龄', '性别', '职业', '爱好'],
* sheetData: [['name', 'age', 'gender', 'career', 'hobby']],
**/
sheetData.push([
item.name,
item.age,
item.gender,
item.career,
item.hobby
]);
});
// 导出文件配置
const option: {
fileName?: string;
datas?: any;
} = {};
option.fileName = fileName || '文件名称'; // 自定义文件名
option.datas = [
{
// 工作表名称
sheetName: 'sheet',
// 表头
sheetHeader: [ '姓名', '年龄', '性别', '职业', '爱好'],
// 自定义列宽
columnWidths: [10, 5, 5, 5, 10],
sheetData: sheetData,
},
];
const toExcel = new ExportJsonExcel(option);
//保存
toExcel.saveExcel();
};
使用:
// 自己的table 数据
exportFile (tableData, 'test');
亲测有用,只要前端能拿到的是表格全量数据,就能直接导出表格所有数据。但如果是后端分页查询的表格,前端每次只能查10条或20条的话,那当前每次也只能导出10条20条。不然的话需要前端存一下所有的数据才能一次导出所有,或者后端配合提供接口返回所有数据。
文章来源:https://blog.csdn.net/yqdid/article/details/134974686
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!