1.0.4 • Published 3 years ago

iver-excel v1.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

iver-excel

一个轻量级的模块,如果你的应用场景是从数据库里得到一个集合,然后需要把集合按照一定的规则写入到excel里面,或者准备从excel里把数据导入到数据库,那么…… 用她,用她。

Install

npm install --save iver-excel

Method

  • SaveExcel - 将数据保存到excel。
  • CreateExcelData - 格式化对象数组。
  • SaveTable - 将对象数组保存为excel文件。
  • ReadExcel - 读取excel。
方法的参数,可以参考下面的使用。

Usage

将数据保存到excel-方式一:data参数为对象数组

const { SaveExcel } = require("iver-excel");
const path = require("path");
const result1 = SaveExcel({
  //创建的文件路径
  pathName: path.join(__dirname, `./jsonData.xlsx`),
  sheetArr: [
    {
      //sheet名
      sheetName: "data",
      //对象数组
      data: [
        { name: "小明", sex: "男", age: 16 },
        { name: "小红", sex: "女", age: 18 },
      ]
    },
    //创建多个sheet
    //...
  ],
})

将数据保存到excel-方式二:data参数为数组

const { SaveExcel } = require("iver-excel");
const path = require("path");
const result2 = SaveExcel({
  //创建的文件路径
  pathName: path.join(__dirname, `./arrData.xlsx`),
  sheetArr: [
    {
      //sheet名
      sheetName: "data",
      //数组
      data: [
        ["A", "B", "C"],
        ["D", "E", "F", "G"],
        ["H", "I", "J", "K", "L"],
      ]
    },
    //创建多个sheet
    //...
  ],
})

也可在调用SaveExcel方法的时候,利用CreateExcelData方法给data参数加工处理一下,注意CreateExcelData仅仅适用于对象数组,也就是方法一 在excel中我们往往不希望字段显示是英文,所以有了mapping参数

const { SaveExcel, CreateExcelData } = require("iver-excel");
const path = require("path");
const result3 = SaveExcel({
  //创建的文件路径
  pathName: path.join(__dirname, `./formartData.xlsx`),
  sheetArr: [
    {
      //sheet名
      sheetName: "data",
      //对象数组
      data: CreateExcelData({
        arr: [
          { name: "小明", sex: "男", age: 16 },
          { name: "小红", sex: "女", age: 18 },
        ],
        //是否有序号
        isOrder: true,
        //可以调换顺序,来调整excel最终输出的顺序,比如这里调换了名字和年龄;也可以不写对应关系来去掉某个字段,比如只写名字和性别
        mapping: {
          name: "姓名",
          age: "年龄",
          sex: "性别",
        }
      })
    },
    //创建多个sheet
    //...
  ],
})

我们的应用场景,往往是从一个数据库或者某个地方得到一个数据集合,然后按照一定的规则导入到excel里面去,所有就有了SaveTable方法。 SaveTable方法实际上是把上述方法结合了一下,也是我最常用拿来用的。

const { SaveTable } = require("iver-excel");
const path = require("path");
const result4 = SaveTable({
  arr: [
    { name: "小明", sex: "男", age: 16 },
    { name: "小红", sex: "女", age: 18 },
  ],
  mapping: {
    name: "姓名",
    age: "年龄",
    sex: "性别",
  },
  isOrder: true,
  pathName: path.join(__dirname, `./Data.xlsx`),
})

读取excel文件

const { ReadExcel } = require("iver-excel");
const path = require("path");
const result5 = ReadExcel({
  //文件路径
  filePath : path.join(__dirname, `./jsonData.xlsx`),
  //sheet-index 读取哪个sheet,索引从0开始
  sheetIndex : 0, 
  //raw true:按照默认格式输出 false:按照字符串格式输出 默认为true
})

More

在实际应用中,我们往往需要把数据库的某张表,导入到excel文件里去;或者的把excel文件里的数据导入到数据库中去。iver-excel 处理了导入导出中的一些小细节,应该能满足你的大部分需求。


如果你是在sqlServer和Excel之间操作 那么我只能说,缘分啊。可以参考我的另一个模块 iver-mssql。其实数据源是什么都不重要,只要最终能转成对象数组或者json数组,都能使用 iver-excel 完成任务。

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

4 years ago

1.0.1

4 years ago