1.5.3 • Published 5 years ago

excel-tobe-json v1.5.3

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

语法规则

语法规则:

  • 带[],如 arr_index[]

  • 不带[],如 title_image

  • #require(sheet),可以引入其他sheet数据

带[]:数组,push原则,如有指定index,如index1,则是赋值(替换)原则

  • 例如 demo 的 arr_table_cell 字段

不带[]:对象字段,赋值(替换)原则。

  • 例如 demo 的 title_image 字段

#require(sheet):该字段(可能也没有)的value来源其他sheet。

  • #号前可以有字段,引入的sheet大对象为该属性的value。如props#require(2)

示例

excel demo:

sheet1

filenamecn_langen_lang
langcnen
title_imagebody_cn_m.pngbody_en_m.jpg
apply_condition_c0.c1,招募条件的内容1,condition
apply_condition_c1.c2,招募条件的内容2,condition
arr_index01,test数组合并1,test arr
arr_index12,test数组合并2,test arr
arr_table_cell[]1,数组,合并单元格1,merge table cell
2,数组,合并单元格2,merge table cell
3,数组,合并单元格3,merge table cell
arr_push[]1,数组 push1,arr push
arr_push[]2,数组 push2, arr push
arr_table_cell[]4,数组,push 单元格4,arr,push merge table cell
arr_table_cell1.c.a0.b0深度结构deep
title_imagebody_cn_m.jgpbody_en_m.jpg
code_status#require(2)

sheet2

200成功success
403失效Invalid

will to be

[
    {
        "filename": "cn_lang",
        "lang": "cn",
        "title_image": "body_cn_m.jgp",
        "apply_condition_c": [
            {
                "c": "1,招募条件的内容"
            },
            {
                "c": "2,招募条件的内容"
            }
        ],
        "arr_index": [
            "1,test数组合并",
            "2,test数组合并"
        ],
        "arr_table_cell": [
            "1,数组,合并单元格",
            {
                "c": {
                    "a": [
                        {
                            "b": [
                                "深度结构"
                            ]
                        }
                    ]
                }
            },
            "3,数组,合并单元格",
            "4,数组,push 单元格"
        ],
        "arr_push": [
            "1,数组 push",
            "2,数组 push"
        ],
        "code_status": {
            "200": "成功",
            "403": "失效"
        }
    },
    {
        "filename": "en_lang",
        "lang": "en",
        "title_image": "body_en_m.jpg",
        "apply_condition_c": [
            {
                "c": "1,condition"
            },
            {
                "c": "2,condition"
            }
        ],
        "arr_index": [
            "1,test arr",
            "2,test arr"
        ],
        "arr_table_cell": [
            "1,merge table cell",
            {
                "c": {
                    "a": [
                        {
                            "b": [
                                "deep"
                            ]
                        }
                    ]
                }
            },
            "3,merge table cell",
            "4,arr,push merge table cell"
        ],
        "arr_push": [
            "1,arr push",
            "2, arr push"
        ],
        "code_status": {
            "200": "success",
            "403": "Invalid"
        }
    }
]

安装

npm安装:

  • npm install excel-tobe-json --save

参数:

参数名必选类型说明
excelPathNamestringexcel路径
sheetnumber读取表格哪个sheet数据
isColOrientedstring默认true按列处理,按行请使用false
dirOutputstring输出的json文件路径(此时回调不会得到json数据)。如无,则回调第二个参数是json数据。

示例

// excelToJson入口方法。
var convertExcel = require('excel-tobe-json').excelToJson;
convertExcel(excelPathName, {isColOriented: true, dirOutput: 'excel.json'}, function (err, excelDatas) {
    if (err) {
        console.log(err)
    }else{
        console.log(JSON.stringify(excelDatas))
    }
})

插件扩展

考虑到很多在线excel表格,excel-tobe-json开放了扩展支持:

  • extendOnlineExcel 此方法用来扩展第三方在线excel表格。接收一个数组作为参数. 第一项为域名(如docs.google.com),第二项为handle方法(此方法也接收2个参数,第一个是在线url,第二个是个方法,当你处理好在线数据为原始结构数组,调用此方法并传入你的原始数据即可)。

谷歌在线表格扩展demo:

  • https://github.com/diyao/google-excel/blob/master/lib/google-excel.js

var excelTobeJson = require('excel-tobe-json');
// 谷歌excel扩展导出的一个数组,第一个域名,第二项handle函数。具体看地址源码
// 如此,excel-tobe-json可直接处理谷歌在线表格。
excelTobeJson.extendOnlineExcel(require('google-excel'))
1.5.3

5 years ago

1.5.2

5 years ago

1.5.1

5 years ago

1.5.0

6 years ago

1.4.0

6 years ago

1.3.0

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago