Nodejs技巧之Exceljs表格操作用法示例

本文实例讲述了Nodejs技巧之Exceljs表格操作用法。分享给大家供大家参考,具体如下:

工作中我们可能会遇到制作表格的需求,那么针对nodejs如何制作一个汇总表格呢?

今天我们就在此介绍下exceljs 的基本使用,应该可以满足我们大部分的需求。

第一部分 下载

npm install exceljs

第二部分 基本的配置

var Excel = require("exceljs");

var workbook = new Excel.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);

// 视图大小, 打开Excel时,整个框的位置,大小

workbook.views = [

{

x: 0,

y: 0,

width: 1000,

height: 2000,

firstSheet: 0,

activeTab: 1,

visibility: "visible"

}

];

// 标签创建

var worksheet = workbook.addWorksheet("第一个标签");

// 带颜色的

var worksheet2 = workbook.addWorksheet("第二个标签", { properties: { tabColor: { argb: "FFC0000" } } });

// 遍历标签

workbook.eachSheet((worksheet, sheetId) => {

console.log("标签ID:", sheetId)

})

// console.log(worksheet);

// 删除一个标签

workbook.removeWorksheet(2)

var firstSheet = workbook.getWorksheet(1);

console.log("标签信息-id", firstSheet.id);

console.log("获取总的:行/实际行 /列/实际列 个数: ", firstSheet.rowCount, firstSheet.actualColumnCount, firstSheet.columnCount, firstSheet.actualColumnCount);

// 添加那个筛选箭头

worksheet.autoFilter = 'A1:C1';

worksheet.getRow(5).font = { size: 14, bold: true };

worksheet.getCell("A2").value = "Site";

worksheet.getCell("A2").font = {

name: "Arial Black",

color: { argb: "FF00FF00" },

family: 2,

size: 14,

italic: true,

bold: true

};

// save workbook to disk

workbook.xlsx.writeFile("first.xlsx").then(function() {

console.log("saved");

});

第三部分 行列的操作

看代码看注释

var Excel = require("exceljs");

var workbook = new Excel.Workbook();

// 标签创建

var worksheet = workbook.addWorksheet("第一个标签");

// 带颜色的

var worksheet2 = workbook.addWorksheet("第二个标签", {

properties: {

tabColor: {

argb: "FFC0000"

}

}

});

// 设置列

worksheet.columns = [{

header: 'Rating Period',

key: 'id',

width: 38

},

{

header: 'Name',

key: 'name',

width: 32,

},

{

header: 'D.O.B.',

key: 'DOB',

width: 10,

style: {

numFmt: 'dd/mm/yyyy'

}

}

];

/// 根据ID添加值

worksheet.addRow({

id: 1,

name: 'John Doe',

dob: new Date(1970, 1, 1)

});

worksheet.addRow({

id: 2,

name: 'Jane Doe',

dob: new Date(1965, 1, 7)

});

worksheet.getCell(1).value = "Z";

// 直接赋值

worksheet.getCell('A6').value = "1989";

// 合并单元格

worksheet.mergeCells('A4:A7');

// 合并四个格子

worksheet.mergeCells('A10', 'B11');

// ===== 格式化显示,

// 数字 1.6 显示 '1 3/5'

worksheet.getCell('A1').value = 1.6;

worksheet.getCell('A1').numFmt = '# ?/?';

// 显示 1.60%

worksheet.getCell('B1').value = 0.016;

worksheet.getCell('B1').numFmt = '0.00%';

// ===== 字体显示

worksheet.getCell('A3').font = {

// 字体名

name: 'Comic Sans MS',

// Font family for fallback. An integer value.

family: 4,

// 字体大小

size: 16,

// 下划线

underline: true,

// 加粗

bold: true,

};

worksheet.getCell('A3').value = "测试字体"

// ==== 对齐方式

worksheet.getCell('A1').alignment = {

vertical: 'top',

horizontal: 'left'

};

worksheet.getCell('B1').alignment = {

vertical: 'middle',

horizontal: 'center'

};

worksheet.getCell('C1').alignment = {

vertical: 'bottom',

horizontal: 'right'

};

// ===== 边框

worksheet.getCell('A1').border = {

top: {

style: 'double',

color: {

argb: 'FF00FF00'

}

},

left: {

style: 'double'

},

bottom: {

style: 'thin'

},

right: {

style: 'thin'

}

};

// ==== 填充颜色

worksheet.getCell('A1').fill = {

// 模式

type: 'pattern',

// 填充

pattern: 'solid',

// fgColor: {

// argb: 'FFFF0000'

// },

// 背景色

bgColor: {

argb: 'FF0000FF'

}

};

// 图片相关操作直接看GitHub就好

// 直接创建一个Excel表

workbook.xlsx.writeFile("second.xlsx").then(function () {

console.log("saved");

});

希望本文所述对大家node.js程序设计有所帮助。

以上是 Nodejs技巧之Exceljs表格操作用法示例 的全部内容, 来源链接: utcz.com/z/344222.html

回到顶部