网站首页 > 基础教程 正文
大家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。
什么是 xlsxtable
A small, simple library to create nice .xlsx Excel files from tabular data
xlsxtable 是一个小型、简单的库,用于从表格数据创建漂亮的 .xlsx Excel 文件。
xlsxtable 目前已经支持以下功能:
- 加粗并(可选)冻结和自动过滤标题
- 根据单元格内容设置列宽
- 将日期和时间转换为原生 Excel 格式(大致:自 1900 年 1 月 0 日以来的浮点天数)
- 适用于任何环境,包括 Node 和浏览器
- 体积压缩后不到 7KB,唯一的运行时依赖项是 littlezipper(由同一作者编写,很小,并且没有自己的运行时依赖项)。
此库支持 Neon SQL 编辑器中的 .xlsx 下载。
如何使用 xlsxtable
下面是在 Node.js 环境中输出一个. xlsx 文件:
import {createXlsx, XlsxTypes as Xl} from 'xlsxtable';
import {writeFileSync} from 'fs';
const now = new Date();
createXlsx({
// 表格数据
headings: ['id', 'name', 'dob', 'wake_up', 'lastUpdated'],
types: [Xl.Number, Xl.String, Xl.LocalDate, Xl.LocalTime, Xl.LocalDateTime],
data: [
[1, 'Anna', new Date(1979, 0, 1), new Date(0, 0, 0, 7), now],
[2, 'Bryn', new Date(1989, 1, 2), new Date(0, 0, 0, 8), now],
[3, 'Chip', new Date(1999, 2, 3), new Date(0, 0, 0, 9), now],
],
// 可选配置
sheetName: 'Sheet 1',
// 显示在底部选项卡上:允许的有限字符范围
freeze: true,
// 冻结顶部 / 标题行
autoFilter: true,
// 启用标头自动过滤器
wrapText: true,
// 换行长文本单元格
// metadata
creator: 'Diane',
title: 'Blughupsnitch data',
description: 'Data about the blughupsnitch',
company: 'Dogoodnever Inc.',
})
.then(xlsx => writeFileSync('/path/to/my.xlsx', xlsx));
如果要在浏览器中下载 xlsx 文件,可以通过下面方法完成:
const xlsx = await createXlsx(/* ... */);
const url = URL.createObjectURL(new Blob([xlsx]));
const link = document.createElement('a');
link.style.display = 'none';
document.body.appendChild(link);
link.href = url;
link.download = 'my.xlsx';
link.click();
setTimeout(() => {
URL.revokeObjectURL(url);
document.body.removeChild(link);
}, 0);
参考资料
https://github.com/jawj/littlezipper
https://github.com/jawj/xlsxtable#readme
https://www.ablebits.com/office-addins-blog/convert-excel-html/
猜你喜欢
- 2024-10-12 纯JS手写轮播图(代码逻辑清晰,通俗易懂)
- 2024-10-12 谷歌浏览器任意文件访问漏洞(CVE-2023-4357)复现
- 2024-10-12 Dom节点优化方案 dom节点树例题
- 2024-10-12 自动化测试工程师的学习方法和逻辑
- 2024-10-12 Web Components 系列(八)——自定义组件的样式设置
- 2024-10-12 JavaScript,自制弹窗(练习) js弹出自定义窗口
- 2024-10-12 掌握 onmouseover 事件:打造动态 HTML 体验
- 2024-10-12 Vue 自定义指令详解-按钮级权限示例(干货)
- 2024-10-12 windows本地程序调用与selenium的简单应用
- 2024-10-12 中高级渗透测试员都必须掌握的Web安全测试知识库,速收藏!
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)