[Release] GroupDocs.Merger for .NET v26.9 – Row-wise Spreadsheet Joining, TIFF Page Selection and Accurate Preview Sizes

Dear GroupDocs customers,

We are pleased to announce the release of GroupDocs.Merger for .NET v26.9. This release adds row-wise joining of spreadsheets into a single sheet, applies PageBuilder page selection to the first TIFF document and honours the requested preview size in every format family, and it replaces several silent outcomes with clear exceptions along with eight fixes for concurrency, file handling and PDF portfolios.

Key New Features

Row-wise Spreadsheet Joining: The new SpreadsheetJoinOptions with Mode = SpreadsheetJoinMode.Rows appends the rows of each joined spreadsheet below the last row containing data of the matching sheet, instead of adding its sheets as separate worksheets. SkipRows skips header rows of the joined files, and SheetMatching matches sheets by position (ByIndex, the default) or takes only the first sheet of each file (FirstSheetOnly). It works for XLSX, XLS, XLSM, XLSB, XLTX, XLTM, XLT, XLAM and ODS, also when the joined file has a different spreadsheet format:

using (Merger merger = new Merger(@"c:\january.xlsx"))
{
    SpreadsheetJoinOptions options = new SpreadsheetJoinOptions { Mode = SpreadsheetJoinMode.Rows, SkipRows = 1 };
    merger.Join(@"c:\february.xlsx", options);
    merger.Join(@"c:\march.xlsx", options);
    merger.Save(@"c:\q1.xlsx");
}

PageBuilder for TIFF Documents: A page selection made with PageBuilder is now applied to the first TIFF document as well — previously all of its pages were always included. Joins that do not use PageBuilder are unchanged.

Accurate Preview Sizes: GeneratePreview now returns images at the requested Width and Height for every document format family, including Word processing, spreadsheet, Visio and OneNote documents. When only one dimension is given, the other follows the page’s aspect ratio.

Major Improvements & Fixes

SetLicense no longer fails silently: a license file that cannot be found throws InvalidOperationException (“License not found: …”), and an empty license stream throws ArgumentNullException.

Joining an image or audio file into a format it cannot be joined into throws FileTypeNotSupportedException (“Joining ‘…’ into ‘…’ is not supported”) instead of producing an empty result.

A missing runtime dependency is reported as the new MissingDependencyException, which names the missing component and how to install it.

ChangeOrientation called without page numbers now changes every page instead of none.

ExtractPages and RemovePages called without page numbers now throw an exception instead of producing an empty or unchanged document.

Fixed the source file staying open after Merger opens or joins a document by path.

Fixed the stream factory being called more than once when constructing Merger.

Fixed corrupt DOC output when joining PDF or XPS documents into DOC from multiple threads.

Fixed Visio documents intermittently failing with ArgumentNullException when processed concurrently.

Fixed PDF portfolios failing with NullReferenceException when an embedded file has no modification date.

:warning: Breaking Changes

The cross-platform packages (GroupDocs.Merger.Net60, .Net80, .Net100) no longer depend on System.Drawing.Common. If your application used it through GroupDocs.Merger, reference the package yourself. Processing OneNote and SVG documents on these packages requires System.Drawing.Common — on Linux and macOS also libgdiplus and the System.Drawing.EnableUnixSupport runtime switch:

<ItemGroup>
  <RuntimeHostConfigurationOption Include="System.Drawing.EnableUnixSupport" Value="true" />
</ItemGroup>

Several calls that used to fail silently now throw: SetLicense with a missing file or an empty stream, ExtractPages / RemovePages without page numbers, a negative preview Width or Height, and image or audio joins into unsupported formats. Review exception handling around these calls.

Some results change: preview images now have exactly the requested size, ChangeOrientation without page numbers changes every page, and a PageBuilder selection now limits the pages taken from the first TIFF document. After a join with ImageJoinOptions, CreatePageBuilder and ApplyPageBuilder throw — join TIFF files without ImageJoinOptions to compose them page by page.

Useful Links

Full Release Notes – View the complete list of changes and technical details.

Release Blog Post – Highlights of v26.9.

Download from NuGet – Update your project to the latest version.

Direct Download – ZIP and MSI packages.

How to Merge Spreadsheet Rows into a Single Sheet – Guide to the new row-wise joining.

Linux and macOS Dependencies – What to install for OneNote and SVG on the cross-platform packages.

Product Documentation – Explore guides and API references.

If you consolidate spreadsheets, rely on exact preview sizes, or process documents from multiple threads, we recommend upgrading to this version. Please review the breaking changes above — especially if you deploy on Linux or macOS or handle licensing errors.

As always, we value your feedback. Please let us know if you have any questions or feature requests for our upcoming releases!

Best regards,

The GroupDocs Team