【开发笔记】在某个储值系统开发过程中,由于储值,消费表格数据量较大,使用公司原来的导出方案,会导致浏览器崩溃,无法导出,因此使用了另一种方案,使用file-saver插件,该插件也可用作图片压缩包导出。
import FileSaver from 'file-saver';
const exportList = [];
const shopHeader = [ '姓名', '年龄', ];
exportList.push(shopHeader.join() + '\n');
const list = [];// 通过后端接口查询出的数据
list.map(row => {
const item = { name: row.name, age: row.age, };
exportList.push(Object.values(item).join()+ '\n');
// 这个循环是为了取出需要导出的数据,正常情况下接口返回的数据中会存在许多用不到的数据,导出时需要把用不到的数据清理掉
});
const blob = new Blob(['\ufeff',...exportList]);
// '\ufeff' 为了解决office的中文乱码问题
FileSaver.saveAs(blob, `表格.csv`);