Nodejs技巧之Exceljs表格操作用法示例
本文實(shí)例講述了Nodejs技巧之Exceljs表格操作用法。分享給大家供大家參考,具體如下:
工作中我們可能會(huì)遇到制作表格的需求,那么針對(duì)nodejs如何制作一個(gè)匯總表格呢?
今天我們就在此介紹下exceljs 的基本使用,應(yīng)該可以滿足我們大部分的需求。
第一部分 下載
npm install exceljs
第二部分 基本的配置
var Excel = require("exceljs");
var workbook = new Excel.Workbook();
// 基本的創(chuàng)建信息
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時(shí),整個(gè)框的位置,大小
workbook.views = [
{
x: 0,
y: 0,
width: 1000,
height: 2000,
firstSheet: 0,
activeTab: 1,
visibility: "visible"
}
];
// 標(biāo)簽創(chuàng)建
var worksheet = workbook.addWorksheet("第一個(gè)標(biāo)簽");
// 帶顏色的
var worksheet2 = workbook.addWorksheet("第二個(gè)標(biāo)簽", { properties: { tabColor: { argb: "FFC0000" } } });
// 遍歷標(biāo)簽
workbook.eachSheet((worksheet, sheetId) => {
console.log("標(biāo)簽ID:", sheetId)
})
// console.log(worksheet);
// 刪除一個(gè)標(biāo)簽
workbook.removeWorksheet(2)
var firstSheet = workbook.getWorksheet(1);
console.log("標(biāo)簽信息-id", firstSheet.id);
console.log("獲取總的:行/實(shí)際行 /列/實(shí)際列 個(gè)數(shù): ", firstSheet.rowCount, firstSheet.actualColumnCount, firstSheet.columnCount, firstSheet.actualColumnCount);
// 添加那個(gè)篩選箭頭
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();
// 標(biāo)簽創(chuàng)建
var worksheet = workbook.addWorksheet("第一個(gè)標(biāo)簽");
// 帶顏色的
var worksheet2 = workbook.addWorksheet("第二個(gè)標(biāo)簽", {
properties: {
tabColor: {
argb: "FFC0000"
}
}
});
// 設(shè)置列
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'
}
}
];
/// 根據(jù)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');
// 合并四個(gè)格子
worksheet.mergeCells('A10', 'B11');
// ===== 格式化顯示,
// 數(shù)字 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 = "測(cè)試字體"
// ==== 對(duì)齊方式
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'
}
};
// 圖片相關(guān)操作直接看GitHub就好
// 直接創(chuàng)建一個(gè)Excel表
workbook.xlsx.writeFile("second.xlsx").then(function () {
console.log("saved");
});
希望本文所述對(duì)大家node.js程序設(shè)計(jì)有所幫助。
相關(guān)文章
koa-passport實(shí)現(xiàn)本地驗(yàn)證的方法示例
這篇文章主要介紹了koa-passport實(shí)現(xiàn)本地驗(yàn)證的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
node.js 基于cheerio的爬蟲工具的實(shí)現(xiàn)(需要登錄權(quán)限的爬蟲工具)
這篇文章主要介紹了node.js 基于cheerio的爬蟲工具的實(shí)現(xiàn)(需要登錄權(quán)限的爬蟲工具) ,需要的朋友可以參考下2019-04-04
利用Mongoose讓JSON數(shù)據(jù)直接插入或更新到MongoDB
這篇文章主要給大家介紹了利用Mongoose讓JSON數(shù)據(jù)直接插入或更新到MongoDB數(shù)據(jù)庫的相關(guān)資料,文中詳細(xì)介紹了配置Mongoose、創(chuàng)建目錄及文件、插入數(shù)據(jù),POST提交JSON增加一條記錄以及詢數(shù)據(jù),取出剛增加的記錄等內(nèi)容,需要的朋友可以參考下。2017-05-05
Sublime Text3 配置 NodeJs 環(huán)境的方法
大家都知道,Sublime Text 安裝插件一般從 Package Control 中直接安裝即可,當(dāng)我安裝 node js 插件時(shí)候,直接通過Package Control 安裝,雖然插件安裝成功了,但是找不到配置文件 Nodejs.sublime-build 來更改一些配置2020-05-05
簡(jiǎn)單談?wù)勱P(guān)于 npm 5.0 的新坑
最近使用到了npm5.0,第一次使用確實(shí)被驚艷了,但隨著而來的是一些坑,下面這篇文章主要給大家簡(jiǎn)單介紹了關(guān)于npm 5的一些新坑,需要的朋友可以參考學(xué)習(xí),下面來一起看看吧。2017-06-06

