zoukankan      html  css  js  c++  java
  • 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,
             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',
             38
        },
        {
            header: 'Name',
            key: 'name',
             32,
        },
        {
            header: 'D.O.B.',
            key: 'DOB',
             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");
    });
    详细中文文档 --->
  • 相关阅读:
    Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.
    用户画像——“打标签”
    python replace函数替换无效问题
    python向mysql插入数据一直报TypeError: must be real number,not str
    《亿级用户下的新浪微博平台架构》读后感
    【2-10】标准 2 维表问题
    【2-8】集合划分问题(给定要分成几个集合)
    【2-7】集合划分问题
    【2-6】排列的字典序问题
    【2-5】有重复元素的排列问题
  • 原文地址:https://www.cnblogs.com/kyrie1/p/14553527.html
Copyright © 2011-2022 走看看