methods: { downloadExcel() { //创建一个工作簿 const wb = XLSX.utils.book_new(); //创建一个工作表,并设置表头数据 const ws = XLSX.utils.json_to_sheet([{ Name: 'John', Age: 28 },{ Name: 'Jane', Age: 32 }], { header: ['Name', 'Age'] }); //将工作表添加到工作簿中 XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); //将工作簿转换成二进制数据流 const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' }); //将二进制数据流转换成Blob对象 const blob = new Blob([s2ab(wbout)], { type: 'application/octet-stream' }); //使用file-saver库将文件保存到本地 FileSaver.saveAs(blob, 'example.xlsx'); }} 表头可以单独提出来设置吗
时间: 2024-01-29 22:04:12 浏览: 130
sheetjs xlsx 源码
可以的,你可以将表头数据先单独设置为一个变量,然后在创建工作表时将表头数据作为参数传入。例如:
```javascript
downloadExcel() {
const header = ['Name', 'Age']; // 表头数据
const data = [{ Name: 'John', Age: 28 }, { Name: 'Jane', Age: 32 }]; // 表格数据
const wb = XLSX.utils.book_new();
const ws = XLSX.utils.json_to_sheet(data, { header });
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });
const blob = new Blob([s2ab(wbout)], { type: 'application/octet-stream' });
FileSaver.saveAs(blob, 'example.xlsx');
}
```
这样就可以单独设置表头数据,并将其与表格数据一起传入 `json_to_sheet` 方法中,生成带有表头的工作表。
阅读全文