vue3使用xlsx.js让导出的内容居中
时间: 2025-06-22 20:45:31 浏览: 14
### 实现 Vue3 中使用 xlsx.js 导出 Excel 并使内容居中的方法
在 Vue3 项目中实现导出 Excel 功能并让其中的内容居中显示,可以借助 `xlsx.full.min.js` 库以及一些额外的样式处理逻辑。以下是具体的方法:
#### 安装依赖库
为了简化操作流程,在项目中引入 `xlsx.full.min.js` 是必要的。可以通过 npm 或者直接从 CDN 加载该资源。
```bash
npm install xlsx --save
```
或者在 HTML 文件头部加入如下脚本标签加载最新版本的库文件[^2]。
#### 准备工作
创建一个按钮触发导出动作,并定义好待导出的数据源。这里假设有一个简单的二维数组作为数据模型的一部分。
```html
<template>
<button @click="exportData">点击导出</button>
</template>
<script setup>
import XLSX from 'xlsx';
// ...其他代码...
</script>
```
#### 处理函数编写
接下来重点在于如何设置单元格样式的部分。由于原生 API 不支持直接指定 CSS 类名的方式控制格式,因此需要采用特定的对象结构描述每列属性,其中包括字体、边框、填充颜色等参数。对于居中对齐的需求,则需特别指明水平方向上的位置调整方式。
```javascript
const exportData = () => {
const wscols = [
{ wch: 20 }, // 设置宽度为20字符宽
{ wch: 20 }
];
let data = [
["姓名", "年龄"],
["张三", 18],
["李四", 20]
];
/* 创建一个新的 worksheet */
var ws = XLSX.utils.aoa_to_sheet(data);
/* 添加自定义样式 */
(ws['!cols'] = wscols),
Object.keys(ws).forEach(key => {
if (!key.startsWith('!')) {
ws[key].s = {
alignment: {
horizontal: 'center' // 文字居中
},
font: {
bold: true, size: 14 // 可选:加粗文字大小设为14px
}
};
}
});
/* 构建 workbook 对象并将 sheet 插入进去 */
var wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
/* 下载生成好的 Excel 文件 */
XLSX.writeFile(wb, "example.xlsx");
}
```
上述代码片段展示了怎样通过遍历所有非特殊标记键(即实际存储数值的地方),为其赋予统一的文字居中排列特性以及其他可能用到的基础样式配置选项[^1]。
阅读全文
相关推荐


















