最新消息: 新版網站上線了?。?!
  • 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表格操作用法示例

    平度胜利路按摩在什么地方多,平度做大活的足疗,平度职教中心女孩微信,平度找曼地方