- npm下載插件
npm install file-saver --save
- 導(dǎo)出表格數(shù)據(jù)
import FileSaver from 'file-saver';
// 根據(jù)表格傳入的 columns 和 dataSource 導(dǎo)出文件
handleExport = () => {
const { dataSource, columns } = this.props;
// 生成文件列名
let fileStr = '';
columns.forEach((item, index) => {
if (index === 0) {
fileStr = item.title;
} else {
fileStr += `,${item.title}`;
}
});
// 生成文件數(shù)據(jù)
dataSource.forEach(item => {
// 根據(jù)傳入的 columns 信息生成每一行數(shù)據(jù)
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');
};