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

@asamihsoy/xlsx2json

v0.2.2

Published

Excel file to JSON file converter

Downloads

6

Readme

@asamihsoy/xlsx2json

※ will be translated into English in near future

インストール・起動方法

npm i -D @asamihsoy/xlsx2json
npx xlsx2json ./sample.xlsx

※ npm scriptには xlsx2json ./sample.xlsx -o ./assets/src/ という形で指定できます。

基本の使い方

xlsxファイルを用意して xlsx2json を実行することで、JSONへ変換できます。

【INPUT】ファイル名: rostar.xlsx / シート名: member

|id|name |company |department| |--|----------|------------|----------| |1 |@asamihsoy|fugafuga Inc|division1 | |2 |@person2 |hogehoge Inc|division2 |

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

npx xlsx2json ./member.xlsx

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

【OUTPUT】ファイル名: member.json
{
"data": [{
    "id": 1,
    "name": "@asamihsoy",
    "company": "fugafuga Inc",
    "department": "division1"
  },{
    "id": 2,
    "name": "@person2",
    "company": "hogehoge Inc",
    "department": "division2"
  }]
}

コマンドライン使用時のオプション確認

npx xlsx2json -h

|フラグ|必須/任意|備考 | |------|---------|-----------------------------------------------------------------| |-o |任意 |実行場所からJSONの格納ディレクトリへの相対パス | |-t |任意 |JSONのトップレベルオブジェクトのタイプ arrayobject を指定|

その他の使い方

シート名や見出しを一定の構文で記述することで、JSONのアウトプットを操作することができます。

|アクション |設定箇所|設定構文 |設定値 |説明 | |--------------------------------|--------|----------------------------|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |JSONのトップレベルキーの変更 |シート名|sheetName$key=altKey |任意の文字列 |JSONのトップレベルのキーを変更できます。(※デフォルト値は data です。) | |JSONのトップレベルへのキーの追加|シート名|!sheetName |マージしたいシート名 |!を頭につけたシートはJSON化されず、!のあとのsheetNameと同じ名前のシートのJSONのTOPレベルにマージされます。※ そのため、シート内のレコードは1行しか反映されません。 | |参照用途限定のシートを作成 |シート名|__sheetName |参照用にしたいシート名|__を頭につけたシートはJSON化されず、参照用のみに使うことができます。 | |他シートの展開 |見出し |jsonKey:sheetName1$ref=key|シート名 |JSONの出力キーに:でシート名をつなぐことで、該当シートから生成されるJSONのキー(jsonKey)の中にシート1(sheetName1)の値を展開できます。sheetName1のデータ中でrefで指定したkeyの値がマッチするものだけが展開されます。 ※1キーに紐付けられるのは1シートのみです。| |ネストの作成 |見出し |jsonKey1.jsonKey2.jsonKey3|キー名 |JSONの出力キーを.でつなげることで階層構造を作成可能です。かぶるキーがある場合はオブジェクトはマージされます。 |

※ 機能は適宜追加していきます。
※ シート名/キー名は半角英数字のみサポートしています。
!__が頭についたシートはJSONとして出力されません
※ ~~シート名は半角英数字である必要があります。~~日本語のシート名も認識するようにしました。