今日软件:纯净绿色软件游戏下载网站

电脑软件| 软件合集| 最近更新| 网站地图

当前首页:首页 > 应用软件 > 办公管理 > 前台js导出excel表格 Node.js 15 如何操作Excel文件

前台js导出excel表格 Node.js 15 如何操作Excel文件

前台js导出excel表格 Node.js 15 如何操作Excel文件

类型:办公管理版本:更新:2023-08-28 12:28:53大小:系统:语言:

上一篇: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操作。 而且文档也比较详细。

如有疑问,请留言讨论。