xlsx模块 前端_利用xlsx-syle前端导出excel且支持自定义样式
时间: 2023-08-02 14:10:54 浏览: 127
sheetJs+xlsx-style——前端实现导出excel表格——设置单元格背景色,居中,自动换行,宽度,百分数展示等
可以利用xlsx-style模块实现前端导出excel并支持自定义样式。下面是具体步骤:
1. 安装依赖
使用npm安装xlsx和xlsx-style:
```
npm install xlsx xlsx-style --save
```
2. 创建excel文件并设置样式
使用xlsx-style的方法与xlsx类似,只需要在创建worksheet时添加样式对象。例如:
```javascript
const XLSX = require('xlsx-style');
const workbook = XLSX.utils.book_new();
const sheetName = 'Sheet1';
const worksheet = XLSX.utils.json_to_sheet([
{ name: 'John Doe', age: 30 },
{ name: 'Jane Doe', age: 25 },
]);
// 设置样式
worksheet['A1'].s = {
font: { bold: true },
fill: { bgColor: { indexed: 64 }, fgColor: { indexed: 64 } },
alignment: { horizontal: 'center' },
};
XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);
```
3. 导出excel文件
使用writeFile方法将workbook保存为excel文件:
```javascript
XLSX.writeFile(workbook, 'example.xlsx');
```
4. 前端下载excel文件
可以使用FileSaver.js库将excel文件下载到本地:
```javascript
const blob = new Blob([s2ab(XLSX.write(workbook, { type: 'binary' }))], {
type: 'application/octet-stream',
});
saveAs(blob, 'example.xlsx');
function s2ab(s) {
const buf = new ArrayBuffer(s.length);
const view = new Uint8Array(buf);
for (let i = 0; i < s.length; i++) view[i] = s.charCodeAt(i) & 0xff;
return buf;
}
```
以上就是利用xlsx-style前端导出excel并支持自定义样式的具体步骤。
阅读全文