Nodejs技巧之Exceljs表格操作用法示例
更新時間:2019年11月06日 08:56:49 作者:蒼青浪
這篇文章主要介紹了Nodejs技巧之Exceljs表格操作用法,結(jié)合實例形式分析了node.js使用Exceljs操作Excel表格的載人、獲取、遍歷、輸出等相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
本文實例講述了Nodejs技巧之Exceljs表格操作用法。分享給大家供大家參考,具體如下:
工作中我們可能會遇到制作表格的需求,那么針對nodejs如何制作一個匯總表格呢?
今天我們就在此介紹下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時,整個框的位置,大小
workbook.views = [
{
x: 0,
y: 0,
width: 1000,
height: 2000,
firstSheet: 0,
activeTab: 1,
visibility: "visible"
}
];
// 標(biāo)簽創(chuàng)建
var worksheet = workbook.addWorksheet("第一個標(biāo)簽");
// 帶顏色的
var worksheet2 = workbook.addWorksheet("第二個標(biāo)簽", { properties: { tabColor: { argb: "FFC0000" } } });
// 遍歷標(biāo)簽
workbook.eachSheet((worksheet, sheetId) => {
console.log("標(biāo)簽ID:", sheetId)
})
// console.log(worksheet);
// 刪除一個標(biāo)簽
workbook.removeWorksheet(2)
var firstSheet = workbook.getWorksheet(1);
console.log("標(biāo)簽信息-id", firstSheet.id);
console.log("獲取總的:行/實際行 /列/實際列 個數(shù): ", 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();
// 標(biāo)簽創(chuàng)建
var worksheet = workbook.addWorksheet("第一個標(biāo)簽");
// 帶顏色的
var worksheet2 = workbook.addWorksheet("第二個標(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');
// 合并四個格子
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 = "測試字體"
// ==== 對齊方式
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)建一個Excel表
workbook.xlsx.writeFile("second.xlsx").then(function () {
console.log("saved");
});
希望本文所述對大家node.js程序設(shè)計有所幫助。
相關(guān)文章
Node.js中Request模塊處理HTTP協(xié)議請求的基本使用教程
這篇文章主要介紹了Node.js中Request模塊處理HTTP請求的基本使用教程,request也支持OAuth的簽名請求,很好很強(qiáng)大,需要的朋友可以參考下2016-03-03
Node中完整的?node?addon?實現(xiàn)流程
這篇文章主要介紹了Node中完整的node?addon實現(xiàn)流程,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09
Node.js中MongoDB插入數(shù)據(jù)的實現(xiàn)方法
在Node.js中,可以使用MongoDB原生驅(qū)動或Mongoose庫來連接和操作MongoDB數(shù)據(jù)庫,本文就來介紹一下Node.js中MongoDB插入數(shù)據(jù)的實現(xiàn)方法,感興趣的可以了解一下2023-12-12
Node.js?網(wǎng)絡(luò)框架koa?compose中間件使用解析
這篇文章主要為大家介紹了Node.js?網(wǎng)絡(luò)框架koa?compose中間件使用解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12

