1. 修改指定列为中文
可以通过遍历数据对象,将需要转换为中文的字段值替换为中文显示。
2. 删除不需要的列
可以在导出数据之前,删除不需要的列(例如 id
列)。
示例代码
exportAsCSV() {
// 原始数据
const data = [
{ id: 1, name: 'John Doe', age: 28, job: 'Engineer' },
{ id: 2, name: 'Jane Smith', age: 22, job: 'Designer' }
];
// 处理数据,转换为中文并去掉 id 列
const processedData = data.map(item => {
return {
姓名: item.name, // 将 name 列改为中文"姓名"
年龄: item.age, // 将 age 列改为中文"年龄"
职位: item.job // 将 job 列改为中文"职位"
};
});
// 转换为 CSV 格式
const csvData = this.convertToCSV(processedData);
// 导出 CSV 文件
const blob = new Blob([csvData], { type: 'text/csv;charset=utf-8;' });
const link = document.createElement('a');
const url = URL.createObjectURL(blob);
link.href = url;
link.setAttribute('download', 'data.csv');
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
// 将对象数组转换为 CSV 字符串
convertToCSV(objArray: any[]): string {
const array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
let str = '';
// 获取并拼接表头
const header = Object.keys(array[0]).join(',');
str += header + '\r\n';
// 获取并拼接数据行
for (let i = 0; i < array.length; i++) {
let line = '';
for (const key in array[i]) {
if (line != '') line += ',';
line += array[i][key];
}
str += line + '\r\n';
}
return str;
}
标签:中文,const,name,JavaScript,导出,link,array,csv,line
From: https://www.cnblogs.com/TheAccountForNull/p/18400052