npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ejc-cli

v1.0.2

Published

Manage your json data better with visual excel sheets

Downloads

37

Readme

Manage your json data better with visual excel sheets

vsersion download license

English | 简体中文

Effects

Effects

Introduction

ejc-cli, the first three letters of which consist of the initials excel, json or js, 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 -g

2. 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 gt

Or 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, -s output 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:

    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, -s output separately

    If you have more than one sheet in your excel file, and each sheet does not always start reading data from line 3, and each sheet does not always have the same key value, 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-cli will read the data of the first sheet starting from line 3, and the json data key value of the first sheet will be order, title, date.
    ejc-cli will read the data of the second sheet starting from line 4, and the json data key values of the second sheet are num, song_title, artist

Notice

Here are the following caveats in use.

  • When generating json data, make sure that the value of -s is correct. -s means that the data is read from the first row of each sheet, the default is row 3.

  • When the number of -k values is set to less than the number of columns in the sheet, it will render with the number of -k values

    You 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 json data is only order and title values

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 file

Options

| 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):

structure

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 corresponding key value (-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 T and M modules are not required, but please ensure that the data in your excel file, has the same structure as the B module in the above diagram
  • Please ensure that your -s values are correct