js export2Excel文字居中并调用
时间: 2023-08-22 12:07:14 浏览: 234
要在JavaScript中实现Excel导出并让文本居中对齐,可以使用第三方库js-xlsx和file-saver,同时在生成Excel文件时设置单元格样式。
首先,在HTML中引入这两个库:
```
<script src="https://cdn.jsdelivr.net/npm/xlsx/dist/xlsx.full.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/file-saver/dist/FileSaver.min.js"></script>
```
然后,在需要导出Excel的地方,定义一个导出Excel的方法:
```
function exportExcel() {
const data = [
['姓名', '年龄', '性别'],
['张三', 18, '男'],
['李四', 20, '女'],
['王五', 22, '男']
];
const worksheet = XLSX.utils.aoa_to_sheet(data); // 将数据转换为worksheet
const workbook = XLSX.utils.book_new(); // 创建workbook
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); // 将worksheet添加到workbook中
const style = { font: { sz: 14 }, alignment: { horizontal: 'center' } }; // 定义单元格样式
worksheet['!cols'] = [{ width: 20 }, { width: 20 }, { width: 20 }]; // 设置列宽
worksheet['!rows'] = [{ height: 30 }]; // 设置行高
worksheet['!ref'] = 'A1:C4'; // 设置数据范围
XLSX.utils.sheet_set_range_style(worksheet, 'A1:C4', style); // 设置单元格样式
const buffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); // 将workbook转换为二进制流
const blob = new Blob([buffer], { type: 'application/octet-stream' }); // 创建Blob对象
saveAs(blob, 'data.xlsx'); // 下载Excel文件
}
```
在这个代码中,我们首先定义了一个名为“data”的二维数组,其中包含4行3列的数据。然后,我们使用XLSX.utils.aoa_to_sheet方法将数据转换为worksheet,创建workbook并将worksheet添加到workbook中。接着,我们定义了一个单元格样式style,将字体大小设置为14,水平居中对齐。然后,我们设置了列宽、行高、数据范围等属性,并使用XLSX.utils.sheet_set_range_style方法设置了单元格样式。最后,我们将workbook转换为二进制流,并使用file-saver库下载Excel文件。
注意,在设置数据范围时,我们使用了Excel的A1:C4格式,这意味着我们只导出了3列4行的数据。你可以根据实际需求修改这个范围。
阅读全文