excel 树结构json_excel转换json的强大工具

excel 树结构json_excel转换json的强大工具让excel支持表达复杂的json格式,将xlsx文件转成json。使用说明目前只支持.xlsx格式,不支持.xls格式。本项目是基于nodejs的,所以需要先安装nodejs环境。执行命令#Clonethisrepositorygitclonehttps://github.com/koalaylj/xlsx2json.git#Gointotherepositorycdxlsx…

大家好,又见面了,我是你们的朋友全栈君。

让excel支持表达复杂的json格式,将xlsx文件转成json。

使用说明

目前只支持.xlsx格式,不支持.xls格式。

本项目是基于nodejs的,所以需要先安装nodejs环境。

执行命令

# Clone this repository

git clone https://github.com/koalaylj/xlsx2json.git

# Go into the repository

cd xlsx2json

# Install dependencies

npm install

配置config.json

{

“xlsx”: {

“head”: 2,// 表头所在的行,第一行可以是注释,第二行是表头。

“src”: “./excel/**/[^~$]*.xlsx”, // xlsx文件 glob配置风格

“dest”: “./json”, // 导出的json存放的位置

“arraySeparator”:”,” // 数组的分隔符

}

}

注:

excel导出json:

windows: 双击export.bat 即可将 ./excel/*.xlsx 文件导出到 ./json 下。

mac: 运行./export.sh 即可将 ./excel/*.xlsx 文件导出到 ./json 下。

还支持命令行传参导入导出特定excel,具体使用 node index.js –help 查看。

json名字以excel的sheet名字命名。

示例1 test.xlsx

id

desc

flag

nums#[]

words#[]

map#[]/

data#{}

hero#[{}]

123

description

true

1,2

哈哈,呵呵

true/true

a:123;b:45

id:2;level:30,id:3;level:80

456

描述

false

3,5,8

shit,my god

false/true

a:11;b:22

id: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格式输出,否则以数组格式输出)。

表头规则

基本数据类型(string,number,bool)时候,一般不需要设置会自动判断,但是也可以明确声明数据类型。

字符串类型:命名形式 列名#string 。

数字类型:命名形式 列名#number 。

日期类型:列名#date 。日期格式要符合标准日期格式。比如YYYY/M/D H:m:s or YYYY/M/D 等等。

布尔类型:命名形式 列名#bool 。

基本类型数组:命名形式 列名#[],数组元素默认用逗号分隔(a,b,c),自定义数组元素分隔符列名#[]/(a/b/c)。

对象:命名形式 列名#{} 。

对象数组:命名形式列名#[{}] 。

主键:命名形式列名#id 。

数据规则

关键符号都是半角符号。

对象属性使用分号;分割。

原理说明

依赖 node-xlsx 这个项目解析xlsx文件。

xlsx就是个zip文件,解压出来都是xml。有一个xml存的string,有相应个xml存的sheet。通过解析xml解析出* excel数据(json格式),这个就是node-xlsx 做的工作。

本项目只需利用 node-xlsx 解析xlsx文件,然后拼装自己的json数据格式。

补充

实验环境:win7_x64 + nodejs_v0.10.25(可在linux上执行)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131586.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • scrapy中ROBOTSTXT_OBEY = False,不遵守Robot协议文件的规则

    scrapy中ROBOTSTXT_OBEY = False,不遵守Robot协议文件的规则在scrapy中创建项目以后,在settings文件中有这样的一条默认开启的语句:setting文件中配置:#Obeyrobots.txtrules#默认是True,遵守robots.txt文件中的协议,遵守允许爬取的范围。#设置为False,是不遵守robo协议文件。。。ROBOTSTXT_OBEY=True观察代码可以发现,默认为True,就是要遵守rob…

  • ubuntu下使用pip卸载包时出现Cannot uninstall scipy

    ubuntu下使用pip卸载包时出现Cannot uninstall scipyubuntu系统下使用pipuninstallscipy命令卸载包时,遇到报错信息为:ERROR:Cannotuninstall‘scipy’.Itisadistutilsinstalledprojectandthuswecannotaccuratelydeterminewhichfilesbelongtoitwhichwouldleadtoonlyapartialuninstall.最终发现通过以下方式可以解决:在/根目录下搜索“scip

    2022年10月17日
  • 初中基础学java_初中生也能学JAVA吗?[通俗易懂]

    初中基础学java_初中生也能学JAVA吗?[通俗易懂]初中生当然可以学java,初中正是学习力非常强的时期。如果你对计算机有兴趣,就去学啊。现在不是每个人都能明白自己的兴趣点在哪里的。但是由于孩子的年龄太小,自学能力的不足,找一个靠谱的学校从师而学才是正经的学习途径。北大青鸟沈阳三好就有专门为初中生开设的计算机课程,充分地体谅学生的学习情况以及学习基础,所以不用担心自己跟不上进度。Java自1995年问世以来,已历经21年的岁月。20年来,不管IT技…

  • 动车上的书摘-java对象流与序列化

    动车上的书摘-java对象流与序列化

  • Win10 CMD命令大全—超好用快捷键

    Win10 CMD命令大全—超好用快捷键一、WindowsCMD命令大全1、按组合键Win(Windows图标键)+R键打开运行窗口,输入“cmd”按回车即可打开cmd命令提示符2、在窗口右击选择属性可进行个性化设置~命令功能1、calc启动计算器2、appwiz.cpl程序和功能3、certmgr.msc证书管理实用程序4、charmap启动字符映射表5、chkdsk.exeChkdsk磁盘检查(管理员身份运行命令提示符)6、cleanmgr打开磁盘清理工具7、

  • sql server 2005卸载教程_sql卸载工具

    sql server 2005卸载教程_sql卸载工具如果您要安装新版的sql就必须先完整的卸载sql2005,如果你按照常规的方法是不能完整的卸载sql2005,从而会引起安装的时候说sql已经挂起的错误,sql2005卸载工具(sqlserver2005卸载工具),是一个帮你完整的清理已经安装的sql的工具。MicrosoftSQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。Mi…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号