
在JavaScript中,导出Excel或CSV文件并处理中文汉字,主要可以通过创建一个Blob对象来实现,然后使用URL.createObjectURL()方法生成一个指向该Blob的URL,并通过<a>标签下载。以下是导出CSV和Excel的示例代码:
导出CSV文件
javascript复制代码
function exportCSV() {
// 假设这是你想要导出的数据
const data = [
["姓名", "年龄", "职业"],
["张三", "28", "软件工程师"],
["李四", "35", "项目经理"],
["王五", "22", "前端开发者"]
];
// 将数据转换为CSV格式
let csvContent = "data:text/csv;charset=utf-8,";
data.forEach(function(row) {
csvContent += row.join(",") + "\n";
});
// 编码转换,处理中文乱码问题
const encodedUri = encodeURI(csvContent);
// 创建下载链接并模拟点击进行下载
const link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "示例数据.csv");
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
导出Excel文件
Excel文件稍微复杂一些,通常需要使用第三方库如xlsx,但这里我们提供一个简化版,实际项目中推荐使用库来处理。
javascript复制代码
function exportExcel() {
// 示例数据
const data = [
["姓名", "年龄", "职业"],
["张三", "28", "软件工程师"],
["李四", "35", "项目经理"],
["王五", "22", "前端开发者"]
];
// 创建工作簿和工作表
const ws = ysqn2.com,aoa_to_sheet(data);
const wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
// 写出到文件
XLSX.writeFile(wb, "示例数据.xlsx");
}
注意:上述exportExcel函数使用了xlsx库,你需要先安装并引入这个库。可以通过npm安装:
bash复制代码
npm install xlsx
然后在你的代码中引入:
javascript复制代码
import * as XLSX from 'xlsx';
这样就可以导出包含中文的Excel文件了。在实际应用中,你可能需要根据实际情况调整数据的结构和格式。