exceljs解析和生成excel文件

安装

 npm install exceljs

解析excel

  1. 通过 Workbook 的 readFile 方法可以拿到workbook对象, workbook对象包含的概念有 worksheet(工作表) --> row(行) --> cell(单元格).于是可以通过依次遍历 worksheet, row, cell来拿到单元格的数据
  2. 直接通过 worksheet.getSheetValues() 拿到数据(包含了列号,还有行号那些数据的位置,以empty代替)
const { Workbook } = require("exceljs");

const workbook = new Workbook();

(async function () {
  const res = await workbook.xlsx.readFile("./test.xlsx");
  // const res = await workbook.xlsx.load(File对象); 如果在浏览器端,可以直接 load 一个 File对象
  // each* 方法可以遍历
  // 遍历工作表
  res.eachSheet(item => {
    // 第1种 遍历行
    // item.eachRow((row, rowIndex) => {
    //   const rowData = [];
    //   // 遍历 单元格
    //   row.eachCell((cell, cellIndex) => {
    //     rowData.push(cell.value);
    //   });
    //   console.log(rowData);
    // });

    // 第2种直接通过getSheetValues湖获取
    const res = item.getSheetValues();
    console.log(res);
  });
})();

在这里插入图片描述

生成excel

  1. 创建 workbook, 添加worksheet, 设置columns列,然后添加行数据rowData
const { Workbook } = require("exceljs");

const workbook = new Workbook();

(async function () {
  const sheet = workbook.addWorksheet("test-sheet");

  // 列的定义
  sheet.columns = [
    { header: "id", key: "id", width: 20 },
    { header: "姓名", key: "nickname", width: 30 },
    { header: "年龄", key: "age", width: 30 },
    { header: "手机号", key: "phone", width: 50 }
  ];
  // 行数据
  const rowData = [
    { id: 1, nickname: "小明1", age: 20, phone: "123456789" },
    { id: 2, nickname: "小明2", age: 20, phone: "123456789" },
    { id: 3, nickname: "小明3", age: 20, phone: "123456789" },
    { id: 4, nickname: "小明4", age: 20, phone: "123456789" }
  ];

  sheet.addRows(rowData);

  workbook.xlsx.writeFile("./test1.xlsx");
  
  // 如果是浏览器端,那么新建一个 ArrayBuffer,
  // const arraybuffer = new ArrayBuffer(10 * 1024 * 1024);
  // const res = await workbook.xlsx.writeBuffer(arraybuffer);
  // console.log(res.buffer); // 将buffer通过 a 标签就可以进行下载
})();

在这里插入图片描述

相关推荐

  1. vs code导入excel文件并且解析excel文件数据

    2024-03-11 09:08:07       34 阅读
  2. python数据生成excel文件实现

    2024-03-11 09:08:07       34 阅读
  3. Android 生成Excel文件保存到本地

    2024-03-11 09:08:07       22 阅读
  4. easyexcel解析excel文件原理解析

    2024-03-11 09:08:07       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 09:08:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 09:08:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 09:08:07       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 09:08:07       20 阅读

热门阅读

  1. PPT只要出现弹窗就闪退,Word和Excel都是正常的

    2024-03-11 09:08:07       97 阅读
  2. 玩转centos 下的core 文件

    2024-03-11 09:08:07       27 阅读
  3. python中Unicode 数据库访问(Unicode Character Database)

    2024-03-11 09:08:07       22 阅读
  4. 国外客户代采1688商品如何实现自动化对接

    2024-03-11 09:08:07       36 阅读
  5. orm之SQLAlchemy

    2024-03-11 09:08:07       21 阅读
  6. docker安装redis7

    2024-03-11 09:08:07       21 阅读
  7. 探秘HTTPS:如何通过SSL/TLS保证网络通信安全

    2024-03-11 09:08:07       19 阅读