FYI, this now implemented with DocumentUltimate v2.5.0:
Added: SpreadsheetInputOptions class for prodiving spreadsheet format specific options. For example setting property RenderColumnsFitToPages = 1, will make all columns of a spreadsheet fit to the same page. SheetRange property allows you to choose specific sheet numbers or predefined keywords like (works similar to PageRange class):
-
"all" -> keyword representing all sheet numbers.
-
"active" -> keyword representing the active sheet number.
-
"visible" -> keyword representing visible sheet numbers.
SpreadsheetInputOptions class has many other options related to rendering of spreadsheets.
So now you can choose which sheets to output:
var inputOptions = new SpreadsheetInputOptions
{
//Only visible sheets
OutputSheetRange = new SheetRange("visible"),
//All columns of a spreadsheet should fit to the same page (do not break)
RenderColumnsFitToPages = 1
};
DocumentUltimate.DocumentConverter.Convert(inputDocument, inputOptions, outputDocument);
The new SheetRange class is similar to PageRage class:
The range is specified as a string in the following forms or combination thereof:
5 |
single value |
1,2,3,4,5 |
sequence of values |
1-5 |
closed range |
-5 |
open range (converted to a sequence from 1 to 5) |
1- |
open range (converted to a sequence from 1 to final sheet) |
all |
keyword representing all sheet numbers. |
odd |
keyword representing odd sheet numbers. |
even |
keyword representing even sheet numbers. |
active |
keyword representing the active sheet number. |
visible |
keyword representing visible sheet numbers. |
The value delimiter can be either ',' or ';' and the range separator can be either '-' or ':'. Whitespace is permitted at any point in the input.
Any elements of the sequence that contain non-digit, non-whitespace, or non-separator characters or that are empty are ignored.
Usage examples:
//Only the active sheet
OutputSheetRange = new SheetRange("active"),
//Only first sheet
OutputSheetRange = new SheetRange("1"),
//Only sheets 1, 2 and 3
OutputSheetRange = new SheetRange("1-3"),