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

本文實例講述了Nodejs技巧之Exceljs表格操作用法。分享給大家供大家參考,具體如下:

成都創(chuàng)新互聯(lián)專注于焉耆企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),商城開發(fā)。焉耆網(wǎng)站建設公司,為焉耆等地區(qū)提供建站服務。全流程按需制作網(wǎng)站,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務

工作中我們可能會遇到制作表格的需求,那么針對nodejs如何制作一個匯總表格呢?

今天我們就在此介紹下exceljs 的基本使用,應該可以滿足我們大部分的需求。

第一部分 下載

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"
  }
];
// 標簽創(chuàng)建
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("獲取總的:行/實際行 /列/實際列 個數(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();
// 標簽創(chuàng)建
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'
    }
  }
];
/// 根據(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程序設計有所幫助。

當前文章:Nodejs技巧之Exceljs表格操作用法示例
標題URL:http://muchs.cn/article18/gdecdp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計標簽優(yōu)化、定制網(wǎng)站網(wǎng)站營銷、云服務器企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)