基于NodeJS利用node-xlsx将数据以Execl表格形式导出

关于Excel表格相信大多数使用电脑的人都接触过。有时候做Excel表格需要填写一些数据,如果数据量庞大使用键盘输入肯定是不现实的,这个时候使用node批量导出excel是非常方便的。
下面简单实操一下如何导出excel。使用的node库是node-xlsx

node-xlsx

这个库使用起来十分简单,可以直接通过实际例子来套用。

首先需要进行安装模块

yarn环境下

yarn add node-xlsx

npm环境下

npm install node-xlsx

在项目内引入模块

const xlsx = require("node-xlsx");

因为需要进行文件的写入操作需要引入文件相关的模块,在这里我们引用fs
yarn环境下

yarn add fs

npm环境下

npm install fs

在项目内引入模块

const fs = require("fs");

下面开始通过实例来感受一下node导出excel表格
话不多说直接上代码

//生成Excel依赖包
const xlsx = require("node-xlsx");
//写入文件依赖包
var fs = require("fs");

const list = [
  {
    name: "sheet",
    data: [
      ["data1", "data2", "data3"],
      ["data1", "data2", "data3"],
      ["data1", "data2", "data3"],
    ],
  },
];

const buffer = xlsx.build(list);
fs.writeFile("testFile.xlsx", buffer, function (err) {
  if (err) {
    console.log(err, "保存excel出错");
  } else {
    console.log("写入excel成功!!!");
  }
});

上面代码中的list是需要导出的数据源
list
list是一个数组包含着对象,list的每一个元素都会成为excel表格的一个sheet,name就是sheet的标题,data的结构是一个二维数组,所以在导出数据之前需要对导出数据进行处理,化成二维数组的形式。
如果想要导出一个表格多个sheet,list可以这样写

const list = [
  {
    name: "sheet1",
    data: [
      ["data1", "data2", "data3"],
      ["data1", "data2", "data3"],
      ["data1", "data2", "data3"],
    ],
  },
  {
    name: "sheet2",
    data: [
      ["data1", "data2", "data3"],
      ["data1", "data2", "data3"],
      ["data1", "data2", "data3"],
    ],
  },
  {
    name: "sheet3",
    data: [
      ["data1", "data2", "data3"],
      ["data1", "data2", "data3"],
      ["data1", "data2", "data3"],
    ],
  },
];

这样在一个excel文件里面就出现了三个sheet
如图
在这里插入图片描述
按照上面的实例写法,最终导出的excel文件将会保存在当前文件夹下

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐