Mac+windows下excel转化为复杂的json格式,将xlsx文件转成json(可内嵌对象数组)

来源:互联网 发布:ubuntu win7双系统安装 编辑:程序博客网 时间:2024/05/19 09:39
转自:https://github.com/koalaylj/xlsx2json

使用说明

  • 目前只支持.xlsx格式,不支持.xls格式。
  • 本项目是基于nodejs的,所以需要先安装nodejs环境。
  • 执行命令
# Clone this repositorygit clone https://github.com/koalaylj/xlsx2json.git# Go into the repositorycd xlsx2json# Install dependenciesnpm install
  • 配置config.json
{    "xlsx": {        /**         * 表头所在的行,第一行可以是注释,第二行是表头         */        "head": 2,        /**         * xlsx文件所在的目录         * glob配置风格         */        "src": "./excel/**/[^~$]*.xlsx",        /**         * 导出的json存放的位置         */        "dest": "./json",        /**         * 数组的分隔符         * 有时候特殊需要,在excel单元格中里面逗号被当做他用。         * 已过时,将在v0.5.x移除。参考列类型是数组类型时候表头设置。         */        "arraySeparator":","    },    "json": {      /**       * 导出的json是否需要压缩       * true:压缩,false:不压缩(便于阅读的格式)       */      "uglify": false    }}
  • 执行export.sh|export.bat即可将./excel/*.xlsx 文件导成json并存放到 ./json 下。json名字以excel的sheet名字命名。

  • 补充(一般用不上):

    • 执行node index.js -h 查看使用帮助。
    • 命令行传参方式使用:执行 node index.js --help 查看。

示例1 test.xlsx

iddescflagnums#[]words#[]map#[]/data#{}hero#[{}]123descriptiontrue1,2哈哈,呵呵true/truea:123;b:45id:2;level:30,id:3;level:80456描述false3,5,8shit,my godfalse/truea:11;b:22id:9;level:38,id:17;level:100

输出如下:

[{    "id": 123,    "desc": "description",    "flag": true,    "nums": [1, 2],    "words": ["哈哈", "呵呵"],    "map": [true, true],    "data": {        "a": 123,        "b": 45    },    "hero": [      {"id": 2,"level": 30},      {"id": 3,"level": 80}    ]}, {    "id": 456,    "desc": "描述",    "flag": false,    "nums": [3, 5, 8],    "words": ["shit", "my god"],    "map": [false, true],    "data": {        "a": 11,        "b": 22    },    "hero": [      {"id": 9, "level": 38 },      {"id": 17,"level": 100}    ]}]

支持以下数据类型

  • number 数字类型。
  • boolean 布尔。
  • string 字符串。
  • date 日期类型。
  • object 简单对象,暂时不支持对象里面有对象或数组这种。
  • number-array 数字数组。
  • boolean-array 布尔数组。
  • string-array 字符串数组。
  • object-array 对象数组。
  • id 主键类型(当表中有这个类型的时候,json会以map格式输出,否则以数组格式输出)。
阅读全文
0 0
原创粉丝点击