XLSB ファイルを複数の XLSB ファイルに分割する方法
Sheetize XLSB‑Splitter for .NET は、1 つの大きな XLSB ワークブックを多数の小さなマクロ有効 XLSB ファイルに分割するシンプルな API を提供します。ワークブックの一部だけを配布したり、データを並列処理したり、下流システムのサイズ制限に収めながら、すべてのマクロやビジュアル要素をそのまま保持したいときに便利です。
主な機能
XLSB を複数の XLSB ファイルに分割
行数、シート数、ファイルサイズのしきい値で分割ポイントを指定し、元のデータのサブセットを含む独立した XLSB ファイルを生成できます。
マクロ&書式設定を保持
VBA プロジェクト、セルスタイル、数式、テーブル、チャート、埋め込みオブジェクトはすべて元のブックと同一に保持されます。
ストリーミング&低メモリ処理
数百 MB に及ぶ巨大ブックでもストリーミング方式で処理し、バッチジョブやクラウド関数向けにメモリ使用量を最小限に抑えます。
詳細手順
XLSB → 複数 XLSB ワークフロー
Sheetize で XLSB ファイルを分割する手順は次の通りです。
- スプリッターの初期化:
SpreadsheetSplitterのインスタンスを作成します。 - 分割オプションの設定:
SplitterSaveOptionsで分割基準(ファイルあたり最大行数、最大ファイルサイズ、特定シートのグループなど)を指定します。 - ファイルパスの定義: 入力 XLSB のパスと、分割後ファイルを書き出すフォルダを設定します。
- 分割の実行: 用意したロードオプションと分割オプションを渡して
Processを呼び出します。
例 – 行数で大容量 XLSB を分割する
var loadOptions = new LoadOptions
{
InputFile = "BigFinancialReport.xlsb"
};
var splitOptions = new SplitterSaveOptions
{
OutputFolder = @"E:\Splits\"
};
SpreadsheetSplitter.Process(loadOptions, splitOptions);拡張フォーマット対応
- 必要に応じて、分割されたチャンクを XLSX や CSV として出力し、マクロなしバージョンを作成できます。
- Sheetize の変換ユーティリティと組み合わせれば、次のような連鎖操作も可能です:XLSB を分割 → 各パートを CSV に変換 → データベースにインポート。
これらの機能により、Sheetize は大規模 XLSB ワークブックの分割を手間なく実現します。分散分析のためのデータ準備、ファイルサイズポリシーへの対応、あるいは単に複雑なブックを管理しやすい単位に整理したい場合に最適です。