功能诉求:前端访问后端数据后,展示在表格中并下载为csv文件。
由于csv内容格式就是纯文本的字符拼接,小数据量时可以前端生成,大数据量还是后端生成较为合适
使用:react
// 下载表格(生成csv并下载)
downloadHandle = () => {
this.setState({
filename:'搜索数据.csv',
});
var content = [];
var p = this.state.tableData;
//s1. 用一个数组来存一行数据,所以第一行用一个数组来保存字段名
content.push(['日期', '来源', 'query', '关键词', '省','市','userid']);
//s2. 将数据push到大数组中
for (var i = 0; i < p.length; i++) {
content.push([p[i].day, p[i].media, p[i].query, p[i].word,p[i].province,p[i].city,p[i].uid]);
}
//s3. 按照csv文件内容格式,把每个数组用 , 连接,形成一行,并存入新数组
var csvRows = [];
for (var j = 0; j < content.length; j++) {
csvRows.push(content[j].join(','))
}