xlsx.js导出表格

发布时间 2023-05-09 10:22:09作者: 天宁哦

说明

vue2
前端导出表格需用用到xlsx.js这个库

npm install xlsx

实现操作

合并单元格
把数组导出成excel

代码部分

wch

import * as XLSX from "xlsx";//记得在要用的页面导入
 /* 导出表格 */
exportExcel_() {
	/* 定义表格的数据 第一行是表头*/
	var data = [
		["名称", "数量", "价格",'指标(月度形象进度及投资)','','',''],
		["笔记本电脑", 10, 5000,'妇科大夫','拉过来'],
		["平板电脑", 20, 3000,'12345678','接口规范'],
		["手机老公就分开了国家分开了国家", 30, 2000,'甘就分开感觉','赶快']
	];

	/* 创建一个工作簿 */
	var workbook = XLSX.utils.book_new();

	/* 把数据添加到一个工作表中 */
	var worksheet = XLSX.utils.aoa_to_sheet(data);
	/* 设置单元格的行高和列宽 */
	worksheet["!cols"] = [
		{ wch: 30}, // 1个字母数字代表1个字符,1个中文代表2个字符
		{ wpx: 80 }, // 列宽为80像素
		{ wpx: 80 },
		{ wch: 16 },
		{ wpx: 80 },
		{ wpx: 80 },
		{ wpx: 80 }
	];

	worksheet["!rows"] = [
		{ hpt: 20 }, // 行高为20 我目前测试两个hpt hpx 好像差不多,可以自行测试
		{ hpx: 30 }, // 行高为30像素
		{ hpx: 100 } 
	];
	//合并单元格操作 要合并的单元格范围 ,s代表起始,e代表结束,
	worksheet['!merges'] = [
		// 相当于  c1到G1D 合并,合并单元格记得合并掉的也要用''代替
		{ s: { r: 0, c: 3 }, e: { r: 0, c: 6 } }, 
	];

	const wb = XLSX.utils.book_new();
	console.log('wb',wb);
	/* 把工作表添加到工作簿中 */
	XLSX.utils.book_append_sheet(wb, worksheet, "Sheet1");

	/* 导出工作簿 */
	XLSX.writeFile(wb, "data.xlsx");
}