We’re happy to announce the release of GroupDocs.Merger for .NET v26.9, available as of September 2026. This release introduces row‑wise joining of spreadsheets, improves TIFF page selection via PageBuilder, enhances preview dimension handling, resolves concurrency issues with Visio and DOC output, and replaces several silent failure modes with clear exceptions—making the API more robust and predictable.
このリリースの新機能
- [Feature] 複数ファイルの Excel 行を単一シートに結合 (MERGERNET-2198)
- [Feature]
PageBuilderのページ選択を最初の TIFF ドキュメントに適用 (MERGERNET-1372) - [Improvement]
SetLicenseがライセンスファイルを見つけられないと例外をスロー (MERGERNET-2183) - [Improvement] 空のライセンスストリームを
SetLicenseが拒否 (MERGERNET-2184) - [Improvement] 未サポート形式へ画像または音声を結合しようとしたときに明確な例外をスロー (MERGERNET-2190)
- [Improvement] クロスプラットフォーム パッケージから
System.Drawing.Commonを除外し、欠如した依存関係を明示的に報告 (MERGERNET-2202) - [Bug] パスでドキュメントを開くまたは結合した後にソースファイルを閉じる (MERGERNET-2187)
- [Bug]
Merger構築時にストリームファクトリを一度だけ呼び出す (MERGERNET-2189) - [Bug] 複数スレッドで PDF または XPS を DOC に結合したときの DOC 出力破損を修正 (MERGERNET-2192)
- [Bug] ページ番号が指定されていない場合、すべてのページにページ向き変更を適用 (MERGERNET-2194)
- [Bug] すべてのドキュメント形式ファミリで要求されたプレビュー幅と高さを尊重 (MERGERNET-2196)
- [Bug] ページ番号なしで呼び出された
ExtractPagesとRemovePagesが空または変更なしのドキュメントを生成していた問題を修正 (MERGERNET-2197) - [Bug] 同時処理時に Visio ドキュメントが
ArgumentNullExceptionの trueTypeFont で失敗する問題を修正 (MERGERNET-2199) - [Bug] 埋め込みファイルに修正日が無い場合に PDF ポートフォリオが
NullReferenceExceptionで失敗する問題を修正 (MERGERNET-2200)
パブリック API の変更
1. スプレッドシート結合 — 行単位モード(新 API)
GroupDocs.Merger.Domain.Options 名前空間に新しい公開型が追加されました。
| 型 | 説明 |
|---|---|
| SpreadsheetJoinOptions | PageJoinOptions から派生したスプレッドシート結合オプション。プロパティ: Mode, SkipRows, SheetMatching. |
| SpreadsheetJoinMode | Worksheets(既定)は結合ファイルのシートを別々のワークシートとして追加。Rows は結合ファイルの各行を、結果シートのデータがある最終行の下に追加します。 |
| SpreadsheetSheetMatching | ByIndex(既定)はシート 2 をシート 2 に、シート 3 をシート 3 にと順に結合。FirstSheetOnly は各結合ファイルの最初のシートだけを結合します。 |
SkipRowsは結合するすべてのファイルの先頭 N 行をスキップします(例: ヘッダー行)。最初のドキュメントは常に全行が使用されます。SkipRowsとSheetMatchingはWorksheetsモードでは無効です。- 対応フォーマット: XLSX, XLS, XLSM, XLSB, XLTX, XLTM, XLT, XLAM, ODS。
- 継承される要素: セル値、数式(相対参照は調整)、スタイル、結合セル、行の高さ。継承されない要素: グラフ、画像、ピボットテーブル、テーブル、条件付き書式、データ検証。
SkipRowsに負の値を指定するとGroupDocsMergerException(“The count of rows to skip can not be negative.”)がスローされます。- 行数上限(XLS/XLT は 65,536 行、その他は 1,048,576 行)を超えると
GroupDocsMergerExceptionがスローされます。 ApplyPageBuilderは、Rowsモードで結合中のスプレッドシートが保留中の場合にGroupDocsMergerExceptionをスローします。
2. TIFF — PageBuilder が最初のドキュメントのページ選択を適用
API の変更はありません。CreatePageBuilder と ApplyPageBuilder は、最初の TIFF ドキュメントで選択されたページだけを適用します。従来は最初のドキュメントのすべてのページが常に含まれていました。PageBuilder を使用しない結合は従来通りの結果になります。
ImageJoinOptions で結合した後、CreatePageBuilder と ApplyPageBuilder は GroupDocsMergerException をスローします。これは結合画像がページシーケンスではなく単一レイアウトに構成されるためです。
3. ライセンス — SetLicense がサイレント失敗しなくなった
License.SetLicense(string licensePath)は、ライセンスファイルが見つからない場合にInvalidOperationException(“License not found: …”)をスローします。License.SetLicense(Stream licenseStream)は、空のストリームが渡されたときにArgumentNullExceptionをスローします。
4. 空のページリストでのページ操作
- ページ番号が指定されていない状態で呼び出された
ExtractPagesとRemovePagesは、GroupDocsMergerException(“There are no page numbers to extract.” / “There are no page numbers to remove.”)をスローします。 - ページ番号が指定されていない
ChangeOrientationは、PDF、XPS、Word 処理、スプレッドシート、Visio ドキュメントのすべてのページの向きを変更します。
5. プレビューサイズ
GeneratePreview は、要求された Width と Height に合わせて各ページ画像をリサイズします。両方が指定された場合は正確にそのサイズに伸張されます。Width または Height が負の場合は GroupDocsMergerException がスローされます。
6. System.Drawing.Common と不足している依存関係
- クロスプラットフォーム パッケージ(
GroupDocs.Merger.Net60,GroupDocs.Merger.Net80,GroupDocs.Merger.Net100)はもはやSystem.Drawing.Commonに依存しません。 - 実行時に欠如した依存関係が検出された場合は、欠如したコンポーネント名とインストール手順を示す
MissingDependencyExceptionがスローされます。
7. 未サポート形式への画像・音声結合
画像または音声ファイルを未サポートのドキュメント形式に結合しようとした場合、FileTypeNotSupportedException(“Joining ‘…’ into ‘…’ is not supported”)がスローされます。
新機能
- 行単位のスプレッドシート結合: 複数のスプレッドシートの行を単一シートに追加でき、ヘッダー行のスキップやシート位置によるマッチングが可能です。
- TIFF 用 PageBuilder:
PageBuilderで選択したページが最初の TIFF ドキュメントにも適用されます(従来は常に全ページが含まれていました)。 - 正確なプレビュー寸法:
GeneratePreviewがすべてのドキュメント形式ファミリで要求された幅・高さの画像を返します。 - 同時実行の修正: Visio と DOC の出力が複数スレッドからの同時処理で失敗しなくなりました。
- リソース管理の改善: ファイルパスで開くまたは結合したドキュメントは、処理後にソースファイルを閉じます。ストリームファクトリは正確に一度だけ呼び出されます。
- エラーメッセージの明確化: 以前はサイレントに失敗していた操作が、説明的な例外をスローするようになりました。
コード例
using GroupDocs.Merger;
using GroupDocs.Merger.Domain.Options;
using (var merger = new Merger("january.xlsx"))
{
var options = new SpreadsheetJoinOptions
{
Mode = SpreadsheetJoinMode.Rows, // 既存シートに行を追加
SkipRows = 1 // 各結合ファイルのヘッダー行をスキップ
};
merger.Join("february.xlsx", options);
merger.Join("march.xlsx", options);
merger.Save("q1.xlsx");
}
アップデートの取得方法
NuGet
- パッケージ: GroupDocs.Merger 26.9.0
- インストール コマンド:
dotnet add package GroupDocs.Merger --version 26.9.0