使用exceljs导出excel表格

2023-11-09

背景

最近在使用electon写一个桌面程序,需要对数据进行excel导出操作,这里选择使用 exceljs 来完成这个功能,下面是exceljs导出功能的简单实现。

功能实现

下载 exceljs

yarn add exceljs

引入 exceljs

const ExcelJS = require('exceljs');

创建工作簿并设置工作簿属性

const workbook = new ExcelJS.Workbook();
workbook.creator = 'Me';
workbook.lastModifiedBy = 'Her';
workbook.created = new Date(1985, 8, 30);
workbook.modified = new Date();
workbook.lastPrinted = new Date(2016, 9, 27);

添加工作表

const sheet = workbook.addWorksheet('My Sheet');

工作表就是装载excel表里面数据的容器

往工作表添加数据
设置表头

worksheet.columns = [
  { header: 'Id', key: 'id', width: 10 },
  { header: 'Name', key: 'name', width: 32 },
  { header: 'D.O.B.', key: 'DOB', width: 10 }
];

添加数据

const data = [
	[1, 'electron','DOB']
	[2, 'exceljs', 'DOB]
];
worksheet.addRows(data);

导出xlsx文件

await workbook.xlsx.writeFile(filename);

所有代码

const ExcelJS = require('exceljs');

const excelExport = async () => {
	const workbook = new ExcelJS.Workbook();
	workbook.creator = 'Me';
	workbook.lastModifiedBy = 'Her';
	workbook.created = new Date(1985, 8, 30);
	workbook.modified = new Date();
	workbook.lastPrinted = new Date(2016, 9, 27);

	const worksheet = workbook.addWorksheet('My Sheet');

	worksheet.columns = [
	  { header: 'Id', key: 'id', width: 10 },
	  { header: 'Name', key: 'name', width: 32 },
	  { header: 'D.O.B.', key: 'DOB', width: 10 }
	];

	const data = [
		[1, 'electron','DOB'],
		[2, 'exceljs', 'DOB']
	];
	worksheet.addRows(data);

	await workbook.xlsx.writeFile(fileName);
}
excelExport();

参考资料

exceljs官方文档
exceljs官方中文文档

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用exceljs导出excel表格 的相关文章

  • 如何使用 Node.js 解析 JSON? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我应该如何使用 Node js 解析 JSON 是否有一些模块可以安全地验证和解析 JSON 你可以简单地使用JSON parse h
  • 电子邮件模板中的剪贴板功能

    我想在电子邮件模板中发送优惠券代码 一个小按钮 用于复制剪贴板上输入元素的内容 通过电子邮件模板 我的意思是我想发送一封电子邮件 其中包含优惠券代码 并且电子邮件模板中会有一个按钮 允许我将其复制到剪贴板 这可以做到吗 任何帮助将不胜感激
  • 异步减少返回承诺

    我有一个对象数组 我必须为来自异步函数的每个对象添加一个属性 我正在执行 Array reduce 来迭代每个元素并仅返回一个结果 具有新属性的一个对象数组 我有这个 const res await resultOne reduce asy
  • 如何在 Sails.js 中嵌入和编写 mongo 对象(超过一层深度)?

    从 sails js 示例来看 Person js var Person attributes firstName STRING lastName STRING age type INTEGER max 150 required true
  • AWS Lambda 上的 NodeJS 集群

    是否可以在 lambda 函数中使用 cluster 模块 我试过这个 use strict var cluster require cluster var http require http var os require os var n
  • MongoDB 中两个集合之间的 Diff()

    我做过研究 如果这是一个重复的问题 我很抱歉 但其他问题的解决方案并不适合我 因此 我提出了一个新问题 使用 Javascript 比较两个集合的最佳方法是什么 我有数千个这样的 Mongo 文档格式的标头 url google com h
  • Excel宏隐藏特定单元格和合并区域

    我试图根据另一个单元格的值隐藏特定单元格 到目前为止 我设法隐藏整行 但无法隐藏特定单元格 Local Currency value show hide item If Range Currency Value USD Then Range
  • 茉莉花节点没有输出

    我是 JavaScript Node js 和 jasmine 的新手 我正在尝试运行 Node Craftsman Book 一书中的测试 FilesizeWatcher 我创建了 package json 文件并运行 npm insta
  • 运行“npm”返回“错误:找不到模块‘继承’”

    module js 340 throw err Error Cannot find module inherits at Function Module resolveFilename module js 338 15 at Functio
  • Node.js 中的 Twilio 短信回复

    我正在使用 node js 中的 twilio 编写移动通知系统 目前可以向用户发送短信 但我希望用户能够回复我 我需要收集用户发送文本的电话号码以及消息的内容 以查询我的 mongoosedb 我找不到太多这方面的信息 因此非常感谢您的帮
  • 从 Node.js 调用 execl、execle、execlp、execv、execvP 或 execvp 的方法

    POSIX 系统公开了一系列exec函数 允许人们将可能不同的东西加载到当前进程中 保留打开的文件描述符 进程标识符等 可以出于多种原因执行此操作 在我的情况下 这是引导 我想更改我自己的进程的命令行选项 然后在现有进程上重新加载它 这样就
  • Node.js - 异步 JSON 查询

    如果这是一个愚蠢的问题 我深表歉意 但我对 Javascript 很陌生 而 Node js 确实让我很头疼 因为它是异步的 我的目标是从 API 查询 JSON 对象并能够使用它 我试图寻找关于我应该做什么的问题和答案 但它们对我来说都没
  • 将 CSV 导入 Excel - 自动“文本到列”和“插入表格”

    我想在 Excel 2010 上打开 CSV 逗号分隔 文件并自动将文本转换为列 然后选择所有活动单元格并插入带标题的表格 是否可以在我的功能区中添加一个按钮来为我完成这一切 我经常使用不同大小的 CSV 文件 我发现每次手动执行此操作有点
  • windows下用nodejs抓包

    node js v0 8 0 XP WIN7 不是 Cygwin 谷歌并找到node pcap https github com mranney node pcap https github com mranney node pcap 但它
  • 设置缩略图内容类型

    我需要设置Content Type对于缩略图 我已经尝试如下所示 但它不起作用 仍然 它存储为流 天青功能 索引 json var Jimp require jimp module exports context myBlob gt Rea
  • 无法在 AWS Lambda 自定义授权方中验证 Twilio 请求

    我使用 NodeJS 构建了一个自定义授权者 lambda 函数 并将其配置为授权 AWS 中的另一个 lambda 函数 这个其他函数是从 HTTP 端点触发的 并且具有我在 Twilio Messaging Service 中配置为 w
  • VBA删除列中的单元格并根据单元格的值左移?

    如果单元格为空 如何删除 B 列 和左移 中的单元格 下面是我所拥有的 但它给出了 应用程序定义或对象定义的错误 Sub DeleteCellShiftLeft For i 1000 To 1 Step 1 If Cells i B Val
  • Axios GET 返回不可读的响应

    我有一个带有 axios 1 2 0 的简单 GET 的 Express 应用程序 const result AxiosResponse await axios get https jsonplaceholder typicode com
  • 在 AWS Lambda 中共享代码

    在 AWS Lambda 函数之间共享代码的首选方式是什么 我有这样的结构 functions a 节点模块 index js 包 json b 节点模块 index js 包 json c 节点模块 index js 包 json 这让每
  • 对于单主机 Node.js 生产应用程序来说,什么是好的会话存储? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话

随机推荐

  • Django图书商城系统实战开发 - 实现个人订单管理

    Django图书商城系统实战开发 实现个人订单管理 在实战开发Django图书商城系统中 实现个人订单管理是提供给用户的重要功能之一 以下是总结的要点 订单列表 创建一个订单列表页面 展示个人的订单历史 使用Django的模型和视图来获取和
  • Shopify商品列表页实现自动加载下一页产品功能Loading More

    找到你要编辑的主题 然后单击 Action gt Edit code 打开文件 theme liquid 或者在商品列表文件中 引用一个JS文件 在Assets中新增一个名为loadingmore的JS文件 添加如下代码 保存 loadin
  • Python 动态生成系统数据库设计到word文档

    背景 经常需要交付一些系统文档而且基本都是word的 其中又有系统数据库介绍模块 看着数据库里的几百张表于是我开始怀疑人生 所以咱手写一个 涉及知识 pymysql 操作数据库 tkinter GUI图形库 threading 线程 que
  • 飞控学习笔记-姿态角解算(MPU6050 加速度计加陀螺仪)

    本文持续更新 I2C通信 AHRS是自动航向基准系统 Automatic Heading Reference System 的简称 目前 使用四元数来进行AHRS姿态解算的算法被广泛采用于四轴飞行器上 IMU部分 IMU是惯性测量装置 In
  • 更便捷化的支付是时代发展的大趋势

    人脸识别是一种基于人的相貌特征信息进行身份认证的生物特征识别技术 技术的最大特征是能避免个人信息泄露 并采用非接触的方式进行识别 人脸识别与指纹识别 掌纹识别 视网膜识别 骨骼识别 心跳识别等都属于人体生物特征识别技术 都是随着光电技术 微
  • Vscode 绿色系清新主题

    炎炎夏日 上班上的心浮气躁 敲代码的时候 只觉昏昏沉沉 浑浑噩噩 给vscode换一个一个清新美好的绿色主题 充满活力和希望吧 朋友们 收藏起来 每个季节换一个主题 打工快乐 1 green theme 主打一个绿色温温柔柔的绿色画风 真的
  • Unity3D AssetBundles 动态加载游戏资源

    AssetBundles are files which you can export from Unity to contain assets of your choice These files use a proprietary co
  • ERP的权限管理的操作与设计--开源软件诞生24

    赤龙ERP用户与权限管理讲解 第24篇 用日志记录 开源软件 的诞生 进入地址 点亮星星 祈盼着一个鼓励 博主开源地址 码云 https gitee com redragon redragon erp GitHub https github
  • 设计模式之享元模式

    享元模式是对象池的一种实现 用来尽可能减少内存使用量 它适合用于可能存在大量重复对象的场景 来缓存可共享的对象 达到对象共享 避免创建过多对象的效果 这样依赖就可以提升性能 避免内存移除等 享元对象中的部分状态是可以共享 可以共享的状态称为
  • 使用Microsoft Word2016无法正常对Latex文本转换的踩坑和解决方法

    相信很多人都遇到像我一样的问题 word2016中 有latex的按钮 按ALT 就可以开始写公式 复制粘贴latex公式之后 怎么就转换不了呢 就是如图这样的 左上角转换按钮为灰色 上网找呀找 找了很多资料 大多数都是介绍用法的 但是转换
  • 图像语义分割的前世今生

    1998年以来 人工神经网络识别技术已经引起了广泛的关注 并且应用于图像分割 基于神经网络的分割方法的基本思想是通过训练多层感知机来得到线性决策函数 然后用决策函数对像素进行分类来达到分割的目的 这种方法需要大量的训练数据 神经网络存在巨量
  • GIT基本使用记录

    1 git配置与查看用户名与邮箱命令 git config global user name your name git config global user email your email 163 com git config glob
  • 根据这些超参数构建Transformer模型。

    对不起 您需要提供更多信息 以便构建Transformer模型 您需要提供超参数的详细列表 以便构建模型 您可以提供以下超参数以构建Transformer模型 模型大小 例如 隐藏层的大小 头的数量 编码器和解码器层的数量 门控循环单元 G
  • 左值和右值

    左值引用 也就是 常规引用 不能绑定到要转换的表达式 字面常量 或返回右值的表达式 而右值引用恰好相反 可以绑定到这类表达式 但不能绑定到一个左值上 右值引用就是必须绑定到右值的引用 通过 获得 右值引用只能绑定到一个将要销毁的对象上 因此
  • mybatis-plus复杂条件查询

    针对 mybatisplus 的复杂条件 需要将条件封装到 QueryWrapper 和 UpdateWrapper 对象中 1 QueryWrapper 查询 删除条件封装 QueryWrapper 对象用于封装查询 删除条件 2 Upd
  • oracle数据库时分秒格式_Oracle如何输出指定格式的日期时间数据呢?

    摘要 下文讲述Oracle数据库输出指定的日期时间格式的方法分享 如下所示 实现思路 使用TO CHAR系统函数 指定输出格式为 即可将日期时间转换为指定格式的字符串 如 SELECT TO CHAR SYSDATE YYYY MM DD
  • 学生信息管理系统(C语言)

    高级程序设计 学生管理系统 C语言 本项目可以简单的实现学生信息的增 删 改 查 统计 存储等基本功能 环境是Dev C 创建学生信息文件 根据提示输入学生的各项信息 然后按学号对学生信息进行排序 并将排序后的学生信息存储到文件中 增加学生
  • 网络nan的原因_深度学习网络训练中出现nan的原因分析

    nan Not a Number 错误后果 造成训练准确率的断崖式下跌 两种出现地点 1 在loss函数中出现nan 出现原因 一般是因为tf中的log函数输入了 负数 或 0 值 出现log 0 0的情况 解决方法 使用tf clip b
  • MQTT

    MQTT 菜鸟资料收集 https blog csdn net bangdingshouji article details 52576110 https github com menudoproblema libemqtt https b
  • 使用exceljs导出excel表格

    背景 最近在使用electon写一个桌面程序 需要对数据进行excel导出操作 这里选择使用 exceljs 来完成这个功能 下面是exceljs导出功能的简单实现 功能实现 下载 exceljs yarn add exceljs 引入 e