ejc-cli v1.0.2
Manage your json data better with visual excel sheets
English | 简体中文
Effects

Introduction
ejc-cli, the first three letters of which consist of the initialsexcel,jsonorjs,cli.
Our projects sometimes save on back-end development costs by storing some data directly locally in json or js files and then using that data for rendering. But when we have more data, maintaining a lengthy json or js file can be laborious, and these files can only be propagated among developers.
To solve these pain points, using excel to manage our data is a great option.
excel allows for a more visual and organised way of collecting and managing our data than a json or js file. So we can use excel to collect the data we want, and then use the ejc-cli tool to export the json files that developers use.
One of the great benefits of this is that not only is it easier to manage the data, but it is no longer restricted to the developers, as non-developers can use excel to distribute it. This also makes it much more efficient and enhances collaboration between different people.
Quick start
1. Installation tools
npm i ejc-cli -g2. Get the template excel file
You don't need to make an excel sheet yourself, a template excel file is already made here, you just need to execute:
ejc-cli gtOr save the template file to the specified directory:
ejc-cli gt './xlsx_template/'This will give us access to an excel template file, then just replace the data in it with what you want, yes it's that simple.
3. Exporting json files
You can go to the Explanation module for a better understanding of
-k,-s
- Setting
-k,-soutput using the global method
If you have more than one `sheet` in your excel file and they have a similar structure (like the two `sheets` in the `template.xlsx` file), then you can simply set:
````npm
ejc-cli -i './xlsx_template/template.xlsx' -k 'order, title, date, director, genre, cast, money' -s 3 -n 'movieData, songData'
````
In this case, `ejc-cli` will read the data from `row 3` of all `sheets` and the `key` values of all the output `json` data will be `order, title, date, director, genre, cast, money`.Set
-k,-soutput separatelyIf you have more than one
sheetin your excel file, and eachsheetdoes not always start reading data fromline 3, and eachsheetdoes not always have the samekeyvalue, then you can use the "|" splitter:ejc-cli -i './xlsx_template/template.xlsx' -k 'order, title, date | num, song_title, artist' -s '3 | 4' -n 'movieData, songData'In this case,
ejc-cliwill read the data of the firstsheetstarting fromline 3, and thejsondata key value of the firstsheetwill beorder, title, date.
ejc-cliwill read the data of the secondsheetstarting fromline 4, and thejsondata key values of the secondsheetarenum, song_title, artist
Notice
Here are the following caveats in use.
- When generating
jsondata, make sure that the value of-sis correct.-smeans that the data is read from the first row of eachsheet, the default isrow 3. When the number of
-kvalues is set to less than the number of columns in thesheet, it will render with the number of-kvaluesYou can try running the following command to see the difference in the output data
ejc-cli -i '. /xlsx_template/template.xlsx' -k 'order, title' -n 'movieData, novelData'The output of the
jsondata is onlyorderandtitlevalues
Options and commands
Usage: ejc-cli [options] [command]
=> Manage your json data better with visual excel sheets
Options:
-v View current version
-i, --input [path] Path of excel to be converted
-o, --output [path] Path to the output json file
-n, --json-name [string] Name of the output json file
-k, --keys [string] The key value corresponding to each column of each sheet
-s, --start-row [number] Read data from what row of sheet
-h, --help View help
Commands:
gt [path] Get the excel template fileOptions
| Parameters | Required | Default | Description | Supplementary |
|---|---|---|---|---|
-v | No | View current version | ||
-i | Yes | Path to the excel sheet to be converted | ||
-o | No | xlsx_json folder in the current directory | json file output path | |
-n | No | Default sheet number index naming (data_1.json, data_2.json,...) | Output json file name | |
-k | No | The default is to use the current index of each column as the key.([{key_1: ''}, {key_2: ''},...]) | Each column in the sheet corresponds to the name of the key value to be set | You can use | to set the key of the json data exported from each sheet |
-s | No | 3 | Which row to start reading data from in an excel sheet | You can use | to set the row from which each sheet is to be read |
-h | No | View Help |
Commands
| Statement | Parameters | Description |
|---|---|---|
gt | path | path is the directory where the template excel file is saved.When path is empty, the template excel file is saved in the xlsx_template folder of the current directory by default |
Explanation
We can look at the structure of the obtained template excel file (template.xlsx):

The overall structure of the table is generally divided into three blocks (top, middle, bottom).
- The first block, which we call (
T), refers to the broad heading of the entire table - The second, which we call (
M), is an overview of the information in each column of the table and is also used to set the correspondingkeyvalue (-k 'order, title, date, director, genre, cast, money') - The third block, which we will call (
B), is the number of rows in which the program will start reading data (-s 3)
How to use your own excel sheet
Because everyone's production of excel is different, we strongly recommend that you use our template excel file (template.xlsx) to manage your data, but this file may not always be styled to suit you.
So if you want to DIY the style of your table, according to the analysis of the Explanation module, the following rules need to be followed when DIYing your table:
- The
TandMmodules are not required, but please ensure that the data in your excel file, has the same structure as theBmodule in the above diagram - Please ensure that your
-svalues are correct