nodejs生成有样式的excel

需求

需要按照模板生成excel,还要有样式,比如:某些单元格合并,某些单元格背景颜色改变什么什么的;

但是之前学的node-xlsx要改变样式需要再安装xlsx-style,还要用xlsx里面的三个文件什么的,感觉很麻烦还不好搞,所以选择了excel4node

示例代码

javascript 复制代码
const excel = require('excel4node');


const makeExcel = async (data) => {

    // 创建一个新的工作簿
    const workbook = new excel.Workbook();

    // 添加一个工作表
    const worksheet = workbook.addWorksheet('Sheet 1');

    // 设置某几行合并
    worksheet.cell(1, 1, 1, 5, true).string('合并的单元格');

    // 设置某几个单元格变色
    worksheet.cell(2, 2).string('变色的单元格').style({
        fill: {
            type: 'pattern',
            patternType: 'solid',
            bgColor: '#FFFF00',
            fgColor: '#FFFF00',
        },
    });

    // 将工作簿保存为 Excel 文件
    workbook.write('样式表格.xlsx', (err, stats) => {
        if (err) {
            console.error(err);
        } else {
            console.log('Excel 文件已生成');
        }
    });
}

module.exports = { makeExcel };
相关推荐
用户17335980753714 小时前
Vue 3 SPA 首屏优化:从 3s 到 1.2s 的 5 个实践
前端·vue.js
咖啡无伴侣14 小时前
基础骨架:30 分钟搭好 pnpm workspace,完成双项目 Monorepo 迁入
前端
谷无姜14 小时前
Webpack5 进阶思考:那些官方文档没讲清楚的事
前端·webpack
weedsfly14 小时前
还在用 Axios?你可能需要重新理解 XHR 与 Fetch
前端·javascript·面试
CoderWeen14 小时前
从零实现一个 Vue3 流程图编辑器:节点拖拽、贝塞尔连线与框选
前端·javascript
森鹿15 小时前
express中间件原理以及大致实现
前端·express
光影少年15 小时前
HashRouter 和 BrowserRouter 区别、底层原理、部署差异
前端·react.js·nestjs
柯克七七15 小时前
我把祖传项目的构建时间砍了90%,领导以为我只是在"优化了一下",结果隔壁组的CI都崩了来问我配置
前端·webpack
风骏时光牛马15 小时前
JSP页面直接输出实体对象空属性引发页面500报错实战案例
前端
IT_陈寒15 小时前
Python里这个赋值坑,连老司机都能翻车
前端·人工智能·后端