当前位置: 首页 > 后端技术 > Node.js

node表格模块exceljs介绍1--基本使用

时间:2023-04-03 16:13:56 Node.js

前言在使用node做服务端表格处理的时候,需要用到excel处理模块。网上大概能找到三四个插件(xlsx、excel-export、node-xlsx等),经过我的使用,我发现最强大最全面的api是exceljs。但是由于其官方文档非常简洁(丑),所以一开始的使用过程并不是那么顺利。在这里,我将根据自己的经验,简单介绍一下exceljs模块及其基本用法,总结一下自己遇到的一些坑。1、安装导入模块npminstallexceljs使用npm命令安装后,将exceljs模块导入到需要的文件中:varExcel=require('exceljs');2、创建工作簿并导入工作表后,我们可以直接通过js创建工作簿,注意:创建工作表前必须先创建工作簿。varworkbook=newExcel.Workbook();工作簿有很多属性可以设置,比如创建者、修改时间等一般用不到的信息,一般不需要设置。如果您有特殊需求,请参考以下设置。available:workbook.creator='WJY';//设置创建者workbook.lastModifiedBy='Her';//最后修改的人workbook.created=newDate(1985,8,30);//创建时间workbook.modified=newDate();//修改时间更详细的创建工作簿的属性设置请【参考官方】[1]。创建工作簿后,我们需要在工作簿中添加一个工作表来存储我们的数据:varsheet=workbook.addWorksheet('MySheet');通常这足以创建,但您还可以设置创建的工作表的属性://创建一个带有红色标签的表格varsheet=workbook.addWorksheet('MySheet',{properties:{tabColor:{argb:'FFC0000'}}});//创建一个包含隐藏网格线的表格varsheet=workbook.addWorksheet('MySheet',{properties:{showGridLines:false}});//创建一个包含第一行和第一行的表格列冻结varsheet=workbook.addWorksheet('MySheet',{views:[{xSplit:1,ySplit:1}]});3、填表(数据写入)在写入数据之前,需要指定要使用的工作表,如下://通过表名('MySheet')varworksheet=workbook.getWorksheet('MySheet');//通过表的序号(id),也就是哪个表,这里注意,exceljs不是从0开始计数,而是从1开始计数。varworksheet=workbook.getWorksheet(1);得到工作表后,可以通过两种方式生成表格内容:1.worksheet.getCell('A1').value='value';这种方法比较灵活,可以在任意位置填写表格,使用循环嵌套等方法生成需要的表格。合并单元格使用:worksheet.mergeCells('I2:J2');此时合并了I2和J2两个单元格。2.如果数据是对象数组data=[{name:'a'},{name:'b'},{name:'c'}],即数据格式好,有固定的key-value对,那么推荐这种方式:先设置headerworksheet.columns=[{header:'name',key:'name',width:10},];header:参数为表头出现的值,key代表这一列value对应对象的key(本例为name),width为表格的列宽。设置表头后,使用addrow方法向表中写入数据,如下:for(leti=0;i