插件特色:
- 插件自动监测excel文件内容变化
- 自动容错处理
- excel转json
- excel转js
- excel转lua(后续支持)
- excel转csv(后续支持)
- 菜单:扩展/excel-killer
- 快捷键: Ctrl+Shift+J
- *.xlsx, *.xls
- 示例excel
- 第1行: 字段的索引key,这个是不能重复的,想必这个肯定是常识吧!
- 第2行: 字段的中文注释
- 第3行: 字段的导出目标: 包含有 c 字符的代表导出到client目标,包含有 s字符代表导出到Server目标,一个表格,前端后端公用 :)
- 第4行:(by @我是一只傻狍子) 字段的导出规则,已支持 Number, String, Array[Number|String], Array[Array[Array|String]], Array[Object{"key1":Number|String|Array[Number|String], ..."keyN"}], Object{"key1":Number|String|Array[Number|String], ..."keyN"} (注意:一定是英文的引号,不是中文的! 详见 Test.xlsx 测试用例)
- 尽量不要出现空Sheet,当然插件会自动跳过该Sheet
- 尽量不要出现空行,空单元格,当然插件也做了这方面的优化,空单元格统一处理为空字符串,空行直接跳过
id | fruit | cost | num | all |
---|---|---|---|---|
编号 | 水果 | 价格 | 数量 | 总览 |
cs | cs | cs | cs | cs |
Number | String | Number | Number | Object{"id":Number,"fruit":String,"cost":Number,"num":Number} |
1 | 香蕉 | 1 | 5 | 1,香蕉,1,5 |
2 | 苹果 | 1 | 6 | 2,苹果,1,6 |
3 | 草莓 | 1 | 7 | 3,草莓,1,7 |
id | name | age |
---|---|---|
编号 | 名字 | 年龄 |
cs | cs | cs |
1 | 小明 | 10 |
2 | 小红 | 20 |
3 | 小蓝 | 30 |
module.export = {
fruit: {
1: {fruit: "香蕉", cost: 1, num: 5, all: { id: 1, fruit: "香蕉", cost: 1, num: 5 }},
2: {fruit: "苹果", cost: 1, num: 6, all: { id: 2, fruit: "苹果", cost: 1, num: 6 }},
3: {fruit: "草莓", cost: 1, num: 7, all: { id: 3, fruit: "草莓", cost: 1, num: 7 }}
},
man: {
1: {name: "小明", age: 10},
2: {name: "小红", age: 20},
3: {name: "小蓝", age: 30},
}
}
- 未合并的json
fruit.json
{
"1": {"fruit": "香蕉", "cost": 1, "num": 5, "all": { "id": 1, "fruit": "香蕉", "cost": 1, "num": 5 }},
"2": {"fruit": "苹果", "cost": 1, "num": 6, "all": { "id": 2, "fruit": "苹果", "cost": 1, "num": 6 }},
"3": {"fruit": "草莓", "cost": 1, "num": 7, "all": { "id": 2, "fruit": "苹果", "cost": 1, "num": 7 }}
}
man.json
{
"1": {"name": "小明", "age": 10},
"2": {"name": "小红", "age": 20},
"3": {"name": "小蓝", "age": 30}
}
- 合并后的json
{
"fruit": {
"1": {"fruit": "香蕉", "cost": 1, "num": 5, "all": { "id": 1, "fruit": "香蕉", "cost": 1, "num": 5 }},
"2": {"fruit": "苹果", "cost": 1, "num": 6, "all": { "id": 2, "fruit": "苹果", "cost": 1, "num": 6 }},
"3": {"fruit": "草莓", "cost": 1, "num": 7, "all": { "id": 2, "fruit": "苹果", "cost": 1, "num": 7 }}
},
"man": {
"1": {"name": "小明", "age": 10},
"2": {"name": "小红", "age": 20},
"3": {"name": "小蓝", "age": 30}
}
}
插件自动指定路径,不能手动指定,生成的json配置会统一存放在该目录下
勾选该选项,生成的json文件将会格式化之后输出,例如:
{
"test":100
}
未勾选该选项,生成的json将会是一行,例如:
{"test":100}
从上边观察可以看出:
- 格式化后的json更容易查阅,但是文件体积比较大,适合开发的时候使用
- 未格式化的json文件体积比较小,但是不容易查阅,适合项目发布的时候使用
- 未勾选该选项,每个excel的sheet会生成一个对应的json配置,因此,需要保证sheet不能出现重名
- 勾选该选项,所有的json配置将合并为一个json,因此,需要手动指定json配置的文件名
插件自动指定路径,不能手动指定,生成的js配置会统一存放在该目录下
生成的js配置的文件的名字
勾选该选项,生成的js文件将会格式化之后输出,例如:
module.exports={
test:"100"
}
未勾选该选项,生成的js文件将会是一行,例如:
module.exports={test:"100"}
是否使用该选项,和上边的同理,视情况而定.
需要手动指定自己的excel所存放的目录,插件会识别出来目录下的所有excle文件,因此允许目录嵌套的方式存放excel
- 列表中罗列出来了目录下的所有excel的sheet
- 标题右侧 sheet[x] excel[y] 的意思是,目录下sheet一共x个,excel文件一共y个
- 每个sheet列表条目都有一个选中项,如果勾选,则会加入到生成队列中,反之不会被生成,默认全部选中