Nodejs技巧之---Exceljs

工做中咱們可能會遇到製做表格的需求,那麼針對nodejs如何製做一個彙總表格呢?
今天咱們就在此介紹下exceljs的基本使用,應該能夠知足咱們大部分的需求。java

第一部分 下載

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"); });

 

第三部分 行列的操做

看代碼看註釋node

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"); });
 
 


做者:simuty
連接:https://www.jianshu.com/p/ebfcef81e5e7

git

相關文章
相關標籤/搜索