- npm下载插件
npm install file-saver --save
- 导出表格数据
import FileSaver from 'file-saver';
// 根据表格传入的 columns 和 dataSource 导出文件
handleExport = () => {
const { dataSource, columns } = this.props;
// 生成文件列名
let fileStr = '';
columns.forEach((item, index) => {
if (index === 0) {
fileStr = item.title;
} else {
fileStr += `,${item.title}`;
}
});
// 生成文件数据
dataSource.forEach(item => {
// 根据传入的 columns 信息生成每一行数据
columns.forEach((el, index) => {
if (index === 0) {
fileStr += `\n ${item[el.dataIndex]}`;
} else {
fileStr += `,${item[el.dataIndex]}`;
}
});
});
console.log(fileStr);
// Excel打开后中文乱码添加如下字符串解决
const exportContent = '\uFEFF';
const blob = new Blob([exportContent + fileStr], {
type: 'text/plain;charset=utf-8',
});
FileSaver.saveAs(blob, 'List.csv');
};