
CVE-2023-30533 および CVE-2024-22363 の修正を含む SheetJS xlsx 0.18.5 フォーク
SheetJS Community Editionは、実戦で検証されたオープンソースソリューションを提供し、ほぼすべての複雑なスプレッドシートから有用なデータを抽出し、レガシーおよび最新のソフトウェアの両方で動作する新しいスプレッドシートを生成します。
SheetJS Proは、データ処理を超えたソリューションを提供します。複雑なテンプレートを簡単に編集。スタイリングで内なるピカソを解き放ちましょう。画像/グラフ/ピボットテーブルを使ったカスタムシートの作成。数式の評価と計算のWebアプリへの移植。一般的なスプレッドシートタスクの自動化など、さらに多くの機能があります。
サポートされているファイル形式


スタンドアロンブラウザスクリプト
完全なブラウザスタンドアロンビルドはdist/xlsx.full.min.jsに保存されており、
scriptタグを使用してページに直接追加できます。```html
<details>
<summary><b>CDNの可用性</b>(クリックして表示)</summary>
| CDN | URL |
|-----------:|:-------------------------------------------|
| `unpkg` | <https://unpkg.com/xlsx/> |
| `jsDelivr` | <https://jsdelivr.com/package/npm/xlsx> |
| `CDNjs` | <https://cdnjs.com/libraries/xlsx> |
例えば、`unpkg` は最新バージョンを次の場所で提供しています:```html
<script src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script>
完全な単一ファイル版は dist/xlsx.full.min.js に生成されます。
dist/xlsx.core.min.js はコードページライブラリを省略しています(XLSエンコーディングは非対応)
よりスリムなビルドは dist/xlsx.mini.min.js に生成されます。完全なビルドと比較して:
bower で:```bash $ bower install js-xlsx
**ECMAScript モジュール**
ECMAScript Module ビルドは `xlsx.mjs` に保存され、`type=module` を使用した `script` タグでページに直接追加できます:```html
<script type="module">
import { read, writeFileXLSX } from "./xlsx.mjs";
/* load the codepage support library for extended support with older formats */
import { set_cptable } from "./xlsx.mjs";
import * as cptable from './dist/cpexcel.full.mjs';
set_cptable(cptable);
</script>
npm パッケージ も、Angularやその他のプロジェクトでサポートされている module パラメータを使ってモジュールを公開しています。```ts
import { read, writeFileXLSX } from "xlsx";
/* load the codepage support library for extended support with older formats */ import { set_cptable } from "xlsx"; import * as cptable from 'xlsx/dist/cpexcel.full.mjs'; set_cptable(cptable);
**Deno**
`xlsx.mjs` は Deno でインポートできます。 これは `unpkg` から利用可能です:```ts
// @deno-types="https://unpkg.com/xlsx/types/index.d.ts"
import * as XLSX from 'https://unpkg.com/xlsx/xlsx.mjs';
/* load the codepage support library for extended support with older formats */
import * as cptable from 'https://unpkg.com/xlsx/dist/cpexcel.full.mjs';
XLSX.set_cptable(cptable);
NodeJS
npm を使用して:```bash $ npm install xlsx
デフォルトでは、モジュールは `require` をサポートしています:```js
var XLSX = require("xlsx");
このモジュールには、import で使用するための xlsx.mjs も同梱されています。```js
import * as XLSX from 'xlsx/xlsx.mjs';
/* load 'fs' for readFile and writeFile support */ import * as fs from 'fs'; XLSX.set_fs(fs);
/* load 'stream' for stream support */ import { Readable } from 'stream'; XLSX.stream.set_readable(Readable);
/* load the codepage support library for extended support with older formats */ import * as cpexcel from 'xlsx/dist/cpexcel.full.mjs'; XLSX.set_cptable(cpexcel);
**Photoshop および InDesign**
`dist/xlsx.extendscript.js` は、Photoshop および InDesign 向けの ExtendScript ビルドで、`npm` パッケージに含まれています。
これは `#include` ディレクティブで直接参照できます:```extendscript
#include "xlsx.extendscript.js"
JavaScriptエンジンとの広範な互換性のため、このライブラリはECMAScript 3の言語方言に加え、Array#forEachなどの一部のES5機能を使用して記述されています。
古いブラウザでは、不足している関数を提供するためにshimが必要です。
shimを使用するには、xlsx.jsを読み込むスクリプトタグの前にshimを追加してください:```html
スクリプトには、Internet Explorer バージョン 6~9 でファイルを読み込んだり保存したりするための `IE_LoadFile` および `IE_SaveFile` も含まれています。`xlsx.extendscript.js` スクリプトは、Photoshop や他の Adobe 製品に適した形式でシムをバンドルしています。
</details>
### 使用方法