上一篇:Node.js 14自动化工具(爬虫)安装与使用
excel操作
大多数编程语言都有用于操作文件的库,这也不例外。 而且,当今世界,Excel操作模块仍然很多,这就涉及到选择的问题。 选择哪个Excel操作模块?
Excel运算模块PK
我们来看看npm包中的各个Excel操作模块
最后一次更新是在 4 天前,即 2020 年 3 月。最新版本为 3.8.2。 从版本维护和文件更新上保证。 每周下载量为125,797次,应用广泛。 看文档,有各种操作的代码,关键是有中文翻译文档。 应该说,这是一个不错的选择。
上次更新是7个月前,大概是2019年8月。最新版本是1.0.1。 每周 4410 次下载。 除了几行代码之外,文档很少。
最后一次更新是在 1 年前前台js导出excel表格,大约 2019 年初。最新版本 0.15.0。 但每周的下载量还不错,达到了38000次以上。 文档也比较齐全。 应该说node-xlsx也是一个不错的选择。
最后一次更新是13天前,也是2020年3月。最新版本0.15.6。 每周下载量达到55.8万次,使用非常广泛。 文档也比较齐全。 这是一个非常好的选择。
这是一个中国人做的Excel操作模块。 上次更新是在 4 个月前,也就是 2019 年 11 月。最新版本是 3.6.0。 但每周下载次数是这些模块中最低的
,只有396次。考虑到文档、中文语言、下载量、版本维护等,我选择使用该模块作为Excel文件操作。
安装
使用命令:npm --save
D:\Projects\nodejs\NodeDemo\excel>npm install exceljs --save
npm WARN deprecated mkdirp@0.5.4: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN excel@1.0.0 No description
npm WARN excel@1.0.0 No repository field.
+ exceljs@3.8.2
added 92 packages from 115 contributors and audited 256 packages in 45.139s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
代码示例
首先,您需要导入模块并通过Excel.()构建它。
const Excel = require('exceljs')
var workbook = new Excel.Workbook();
workbook.creator = 'Vincent';
workbook.lastModifiedBy = 'Vincent';
workbook.created = new Date(2020, 3, 28);
workbook.modified = new Date();
workbook.lastPrinted = new Date(2020, 3, 28);
workbook.addWorksheet('My Sheet')
提供了三种方法,可以通过遍历all或者通过name或id来访问。
//遍历所有worksheet
workbook.eachSheet(function(worksheet, sheetId) {
// ...
});
//通过名称访问
var worksheet = workbook.getWorksheet('My Sheet');
//通过id访问
var worksheet = workbook.getWorksheet(1);
添加一行只需调用该方法并传入数组即可。
worksheet.addRow([1, 'Vincent', 18]);
worksheet.addRow([2, 'Tom', 25]);
运算结果
要获取行信息,需要调用.(index).方法。
var row = worksheet.getRow(1).values;
这段代码可以获取第一行的值,返回值是一个数组。
//设定列
worksheet.columns = [
{ header: 'Id', key: 'id', width: 10 },
{ header: 'Name', key: 'name', width: 32 },
{ header: 'D.O.B.', key: 'DOB', width: 10,}
];
//获取列
var idCol = worksheet.getColumn('id');
var nameCol = worksheet.getColumn('B');
var dobCol = worksheet.getColumn(3);
//添加数组到列中
worksheet.getColumn(6).values = [1,2,3,4,5];
//获取单元格
var cell = worksheet.getCell('C3');
// 设定单元格value
cell.value = 'Vincent'
//合并单元格
worksheet.mergeCells('A4:B5');
//获取单元格value
worksheet.getCell('B5').value
//获取单元格注释
worksheet.getCell('A1').note
//设定单元格注释
worksheet.getCell('A1').note='单元格注释'
//单元格公式以及计算值设定
worksheet.getCell('A3').value = { formula: 'A1+A2', result: 7 };
注意,上面如果只设置或不设置,都不起作用。 经过实际测试,不一定是100%正确的计算值。 写入文件并打开excel后,excel会自动通过公式计算并显示正确的值。
// read from a file
var workbook = new Excel.Workbook();
workbook.xlsx.readFile(filename)
.then(function() {
// use workbook
});
// write to a file
var workbook = createAndFillWorkbook();
workbook.xlsx.writeFile(filename)
.then(function() {
// done
});
整体模块的API比较丰富前台js导出excel表格前台js导出excel表格,可以处理大部分Excel操作。 而且文档也比较详细。
如有疑问,请留言讨论。
前台js导出excel表格 Node.js 15 如何操作Excel文件相关下载
- 查看详情 前台js导出excel表格 一个模板替代 2023-08-03
- 查看详情 前台js导出excel表格 “新版本”服 2023-08-02
- 查看详情 前台js导出excel表格 SpreadJS纯前 2023-08-02
- 查看详情 前台js导出excel表格 Node.js 15 2023-08-01
- 查看详情 扫描星手机版 简体中文 2023-08-28
- 查看详情 海南一卡通官方正版 简体中文 2023-08-28
- 查看详情 旅行学习语言ios版 简体中文 2023-08-28
前台js导出excel表格 Node.js 15 如何操作Excel文件相关文章