XLSX ファイルを複数の XLSX ファイルに分割する方法
Sheetize XLSX‑Splitter for .NET は、単一のワークブックを多数の小さなワークブックに分割するシンプルな API を提供します。すべてのワークシート、チャート、テーブル、書式設定を保持したまま分割できます。シートごとに 1 ファイルが必要な場合や、巨大なシートを一定サイズのチャンクに分割して下流処理する必要がある場合に使用してください。
主な機能
シート単位で分割
ソースワークブックの各シートごとに個別の XLSX ファイルを作成し、必要に応じてシート名をファイル名に使用できます。
行数上限で分割
大きなシートを複数のファイルに分割し、各ファイルが最大行数(例:1 万行)を超えないようにします。
書式とオブジェクトの保持
セルのスタイル、数式、テーブル、チャート、画像は、元ファイルと全く同じ状態で保持されます。
ストリーミングサポート
行をストリーミング方式で処理するため、非常に大きなワークブックでもメモリ使用量を抑えて分割可能です。
詳細手順
XLSX → 複数 XLSX ワークフロー
Sheetize を使って XLSX ワークブックを分割する手順は以下の通りです。
- スプリッタを初期化:
SpreadsheetSplitterのインスタンスを作成します。 - パスを定義: ソース XLSX のパスと、分割後のファイルを書き出す出力フォルダーを指定します。
- 分割を実行: 用意したロードオプションと保存オプションを
Processに渡して実行します。
例 – シート単位でワークブックを分割
var loadOptions = new LoadOptions
{
InputFile = @"C:\Data\BigReport.xlsx"
};
var saveOptions = new SplitterSaveOptions
{
OutputFolder = @"C:\Data\BigReport\Parts\",
SplitMode = SplitMode.BySheet,
// 任意: ファイル名をカスタマイズ
FileNamePattern = "{SheetName}.xlsx"
};
SpreadsheetSplitter.Process(loadOptions, saveOptions);拡張フォーマットサポート
- スプリッタは CSV や TSV のエクスポートにも対応しており、同様の行数上限ロジックで複数ファイルを生成できます。
- 分割後は、各パートを下流のコンバータ(例: XLSX → PDF、XLSX → JSON)へ直接パイプラインで渡すことが可能です(Sheetize のストリーミング API を利用)。
Sheetize の XLSX‑Splitter を使用すれば、大きなワークブックを管理しやすいサイズに分割する作業がワンライナーで完了し、分析に集中できます。