Vue Excel 文件流导出乱码快速解决方案
// 引入 xlsx 和 file-saver 库
import XLSX from 'xlsx';
import { saveAs } from 'file-saver';
// 定义导出 Excel 的方法
export function exportExcel(data, fileName) {
// 将数据转换为工作表
const worksheet = XLSX.utils.json_to_sheet(data);
// 创建工作簿并添加工作表
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// 生成 Excel 文件并转为二进制字符串
const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
// 使用 blob 对象并使用 saveAs 方法进行下载
const blob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8' });
saveAs(blob, fileName + '.xlsx');
}
// 使用示例
const data = [
{ name: '张三', age: 30, email: 'zhangsan@example.com' },
{ name: '李四', age: 24, email: 'lisi@example.com' }
];
exportExcel(data, '用户信息');
这段代码定义了一个exportExcel
函数,用于将JSON数据导出为Excel文件。函数接受两个参数:数据和文件名,并使用xlsx
和file-saver
库来创建和下载Excel文件。这个解决方案可以有效地解决Vue中Excel文件流导出乱码的问题。
评论已关闭