首先,你需要安装 xlsx-style 库,它是 xlsx 库的扩展,允许你添加样式到 Excel 文件中。

然后,你可以使用以下代码将模板的样式添加到新的 Excel 文件中:

import XLSX from 'xlsx';
import XLSXStyle from 'xlsx-style';

// 读取模板文件
const wbTemplate = XLSX.readFile('template.xlsx', { cellStyles: true });

// 选择模板中的第一个工作表
const wsTemplate = wbTemplate.Sheets[wbTemplate.SheetNames[0]];

// 创建新的工作簿
const wbNew = XLSX.utils.book_new();

// 创建新的工作表
const wsNew = XLSX.utils.json_to_sheet([{ /* 这里是你的数据 */ }]);

// 复制模板中的样式到新的工作表中
wsNew['!cols'] = wsTemplate['!cols'];
wsNew['!rows'] = wsTemplate['!rows'];
wsNew['!merges'] = wsTemplate['!merges'];
wsNew['!ref'] = wsTemplate['!ref'];

// 将新的工作表添加到工作簿中
XLSX.utils.book_append_sheet(wbNew, wsNew, 'Sheet1');

// 将样式应用到新的工作簿中
const wbNewStyled = XLSXStyle.utils.book_new();
wbNewStyled.SheetNames.push('Sheet1');
wbNewStyled.Sheets['Sheet1'] = wsNew;
XLSXStyle.writeFile(wbNewStyled, 'newFile.xlsx');

这个代码片段假设你有一个名为 template.xlsx 的 Excel 文件,其中包含你希望复制到新文件中的样式。你需要将其中的 { /* 这里是你的数据 */ } 替换为你的实际数据。最后一行代码将生成的带有样式的工作簿写入名为 newFile.xlsx 的文件中

vue如何把模板的excel样式添加到新的excel文件中

原文地址: https://www.cveoy.top/t/topic/hkJJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录