API Reference
ExcelDocument
Represents an Excel document and provides methods for creating, loading and saving spreadsheets.
Inheritance
- Object
- ExcelDocument
Usage
This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.
Returned or exposed by
- Property ExcelCustomFormulaFunctionContext.Workbook
- Method ExcelDocument.Create
- Method ExcelDocument.Create
- Method ExcelDocument.Create
- Method ExcelDocument.Create
- Method ExcelDocument.CreateFromTemplate
- Method ExcelDocument.CreateFromTemplate
- Method ExcelDocument.EnsureWorkbookTheme
- Method ExcelDocument.Load
- Method ExcelDocument.Load
- Method ExcelDocument.LoadAsync
- Method ExcelDocument.LoadAsync
- Method ExcelDocument.LoadAsync
- Method ExcelDocument.LoadEncrypted
- Method ExcelDocument.LoadEncrypted
- Method ExcelDocument.LoadEncryptedAsync
- Method ExcelDocument.LoadEncryptedAsync
- Method ExcelDocument.LoadLegacyXls
- Method ExcelDocument.LoadLegacyXls
- Method ExcelDocument.OpenFileBacked
- Method ExcelDocument.ResetWorkbookTheme
- Method ExcelDocument.SetWorkbookThemeName
- Method ExcelDocument.SetWorkbookThemeXml
- Method ExcelFluentWorkbook.End
- Property LegacyXlsLoadResult.Document
- Method LegacyXlsWorkbook.ToExcelDocument
Accepted by parameters
- Constructor ExcelApplicationProperties.ExcelApplicationProperties
- Constructor ExcelBuiltinDocumentProperties.ExcelBuiltinDocumentProperties
- Extension method ExcelDocument.GetOrCreateSheet
- Method ExcelDocument.CompareWorkbook
- Method ExcelDocument.CompareWorkbook
- Method ExcelDocument.CopyWorksheetFrom
- Method ExcelDocument.CopyWorksheetFrom
- Method ExcelDocument.MergeWorkbookFrom
- Method ExcelHostExtensions.GetOrCreateSheet
- Constructor ExcelFluentWorkbook.ExcelFluentWorkbook
- Constructor SheetComposer.SheetComposer
- Method SheetIndex.Add
- Method SheetIndex.AddBackLinks
Constructors
public ExcelDocument() #Methods
public Void AddBackLinksToToc(String tocSheetName = "TOC", Int32 row = 2, Int32 col = 1, String text = "โ TOC") #VoidAdds a small back link to the TOC on each worksheet at the given cell (default A2).
Parameters
- tocSheetName System.String = "TOC"
- row System.Int32 = 2
- col System.Int32 = 1
- text System.String = "โ TOC"
public Void AddMacro(Byte[] data) #VoidAdds or replaces a vbaProject.bin payload.
Parameters
- data System.Byte[]
public Void AddMacro(String filePath) #VoidAdds or replaces a VBA project from a file.
Parameters
- filePath System.String
public Void AddMacro(Stream stream, Nullable<Int64> maxBytes = null) #VoidAdds or replaces a VBA project from a readable stream.
Parameters
- stream System.IO.Stream
- maxBytes System.Nullable{System.Int64} = null
public ExcelPivotInteractionInfo AddPivotSlicer(String pivotTableName, String sourceField, String worksheetName, ExcelSlicerViewOptions options = null) #ExcelPivotInteractionInfoAdds a native Excel slicer view bound to a PivotTable field.
Parameters
- pivotTableName System.String
- sourceField System.String
- worksheetName System.String
- options OfficeIMO.Excel.ExcelSlicerViewOptions = null
public ExcelPackagePartInfo AddPivotSlicerCache(String pivotTableName, String sourceField, String cacheName = null) #ExcelPackagePartInfoAdds slicer cache metadata bound to a validated pivot table field.
Parameters
- pivotTableName System.String
- sourceField System.String
- cacheName System.String = null
public ExcelPivotInteractionInfo AddPivotTimeline(String pivotTableName, String sourceField, String worksheetName, ExcelTimelineViewOptions options = null) #ExcelPivotInteractionInfoAdds a native Excel timeline view bound to a date-only PivotTable field.
Parameters
- pivotTableName System.String
- sourceField System.String
- worksheetName System.String
- options OfficeIMO.Excel.ExcelTimelineViewOptions = null
public ExcelPackagePartInfo AddPivotTimelineCache(String pivotTableName, String sourceField, String cacheName = null) #ExcelPackagePartInfoAdds timeline cache metadata bound to a validated pivot table field.
Parameters
- pivotTableName System.String
- sourceField System.String
- cacheName System.String = null
public ExcelPowerQueryMetadataResult AddPowerQueryMetadata(ExcelPowerQueryMetadataOptions options) #ExcelPowerQueryMetadataResultAuthors safe connection/query-table metadata for Excel-compatible applications to own and refresh. OfficeIMO writes metadata only; it does not execute Power Query M or contact external systems.
Parameters
- options OfficeIMO.Excel.ExcelPowerQueryMetadataOptions
public ExcelQueryBackedTableInfo AddQueryBackedTable(ExcelQueryBackedTableOptions options) #ExcelQueryBackedTableInfoCreates a native query-backed worksheet table without executing its command.
Parameters
- options OfficeIMO.Excel.ExcelQueryBackedTableOptions
public Void AddTableOfContents(String sheetName = "TOC", Boolean placeFirst = true, Boolean withHyperlinks = true, Boolean includeNamedRanges = false, Boolean includeHiddenNamedRanges = false, Predicate<String> rangeNameFilter = null, Boolean styled = true) #VoidAdds or refreshes a visually styled Table of Contents sheet with hyperlinks.
Parameters
- sheetName System.String = "TOC"
- TOC sheet name.
- placeFirst System.Boolean = true
- Move TOC as the first sheet.
- withHyperlinks System.Boolean = true
- Create internal hyperlinks.
- includeNamedRanges System.Boolean = false
- Also list defined names in a dedicated column.
- includeHiddenNamedRanges System.Boolean = false
- When listing defined names, include ones marked Hidden.
- rangeNameFilter System.Predicate{System.String} = null
- Optional filter to include only matching defined names.
- styled System.Boolean = true
- When true, renders a banner and a formatted table with AutoFilter.
public ExcelPackagePartInfo AddWorkbookConnectionMetadata(String xml) #ExcelPackagePartInfoAdds caller-supplied workbook connection metadata XML as a workbook package part. OfficeIMO preserves this metadata but does not execute or refresh external connections.
Parameters
- xml System.String
- Connection metadata XML.
Returns
Information identifying the added or updated package part.
public ExcelPackagePartInfo AddWorkbookMetadataPart(String relationshipType, String contentType, String xml, String targetExtension = "xml") #ExcelPackagePartInfoAdds caller-supplied XML as a workbook package metadata part.
Parameters
- relationshipType System.String
- Open XML relationship type.
- contentType System.String
- Package part content type.
- xml System.String
- Metadata XML.
- targetExtension System.String = "xml"
- Target extension for the generated package part.
Returns
Information identifying the added package part.
public ExcelPackagePartInfo AddWorkbookSlicerCache(ExcelSlicerCacheOptions options) #ExcelPackagePartInfoAdds OfficeIMO-owned workbook-level slicer binding metadata. This does not impersonate a native Excel slicer-cache part; native cache structures and UI shapes must be materialized separately.
Parameters
- options OfficeIMO.Excel.ExcelSlicerCacheOptions
- Slicer cache metadata options.
Returns
Information identifying the added package part.
public ExcelPackagePartInfo AddWorkbookTimelineCache(ExcelTimelineCacheOptions options) #ExcelPackagePartInfoAdds OfficeIMO-owned workbook-level timeline binding metadata. This does not impersonate a native Excel timeline-cache part; native cache structures and UI shapes must be materialized separately.
Parameters
- options OfficeIMO.Excel.ExcelTimelineCacheOptions
- Timeline cache metadata options.
Returns
Information identifying the added package part.
public ExcelSheet AddWorksheet(String worksheetName = "") #ExcelSheetAdds a worksheet to the document.
Parameters
- worksheetName System.String = ""
- Worksheet name.
Returns
Created ExcelSheet instance.
public ExcelSheet AddWorksheet(String worksheetName, ExcelSheetNameValidationMode validationMode) #ExcelSheetAdds a worksheet to the document with control over name validation.
Parameters
- worksheetName System.String
- Requested worksheet name.
- validationMode OfficeIMO.Excel.ExcelSheetNameValidationMode
- How to validate the sheet name: None (no checks), Sanitize (coerce), or Strict (throw on invalid).
Returns
Created ExcelSheet instance.
public ExcelPackagePartInfo AddWorksheetMetadataPart(ExcelSheet sheet, String relationshipType, String contentType, String xml, String targetExtension = "xml") #ExcelPackagePartInfoAdds caller-supplied XML as a worksheet package metadata part.
Parameters
- sheet OfficeIMO.Excel.ExcelSheet
- Worksheet that owns the metadata part.
- relationshipType System.String
- Open XML relationship type.
- contentType System.String
- Package part content type.
- xml System.String
- Metadata XML.
- targetExtension System.String = "xml"
- Target extension for the generated package part.
Returns
Information identifying the added package part.
public ExcelPackagePartInfo AddWorksheetQueryTableMetadata(String worksheetName, String xml) #ExcelPackagePartInfoAdds caller-supplied query-table metadata XML as a worksheet package part. OfficeIMO preserves this metadata but does not execute or refresh external queries.
Parameters
- worksheetName System.String
- Worksheet that owns the query-table metadata.
- xml System.String
- Query-table metadata XML.
Returns
Information identifying the added package part.
public ExcelAccessibilityReport AnalyzeAccessibility() #ExcelAccessibilityReportReports workbook accessibility and compliance issues such as missing alt text, hidden sheets, merged cells, and missing table headers.
public static ExcelDocumentConversionReport AnalyzeConversion(String sourcePath, String destinationPath, ExcelDocumentConversionOptions options = null) #ExcelDocumentConversionReportAnalyzes a file-to-file Excel conversion without creating or changing an artifact.
Parameters
- sourcePath System.String
- destinationPath System.String
- options OfficeIMO.Excel.ExcelDocumentConversionOptions = null
public static async Task<ExcelDocumentConversionReport> AnalyzeConversionAsync(String sourcePath, String destinationPath, ExcelDocumentConversionOptions options = null, CancellationToken cancellationToken = null) #Task<ExcelDocumentConversionReport>Asynchronously analyzes a file-to-file Excel conversion without creating or changing an artifact.
Parameters
- sourcePath System.String
- destinationPath System.String
- options OfficeIMO.Excel.ExcelDocumentConversionOptions = null
- cancellationToken System.Threading.CancellationToken = null
public ExcelFormulaAnalysisReport AnalyzeFormulas() #ExcelFormulaAnalysisReportAnalyzes formulas for references, external links, and volatile functions.
public Int32 ApplyTemplate(IDictionary<String, Object> values, IFormatProvider provider = null, Boolean throwOnMissing = false) #Int32Replaces {{Marker}} placeholders across all worksheets using the supplied values.
Parameters
- values System.Collections.Generic.IDictionary{System.String,System.Object}
- provider System.IFormatProvider = null
- throwOnMissing System.Boolean = false
public Int32 ApplyTemplate(IDictionary<String, Object> values, ExcelTemplateOptions options) #Int32Replaces {{Marker}} placeholders across all worksheets using the supplied values and options.
Parameters
- values System.Collections.Generic.IDictionary{System.String,System.Object}
- options OfficeIMO.Excel.ExcelTemplateOptions
public Int32 ApplyTemplate(Object model, IFormatProvider provider = null, Boolean throwOnMissing = false) #Int32Replaces {{Marker}} placeholders across all worksheets using public properties from the supplied model. Nested properties are exposed as dotted marker names, for example {{Customer.Name}}.
Parameters
- model System.Object
- provider System.IFormatProvider = null
- throwOnMissing System.Boolean = false
public Int32 ApplyTemplate(Object model, ExcelTemplateOptions options) #Int32Replaces {{Marker}} placeholders across all worksheets using public properties from the supplied model and options. Nested properties are exposed as dotted marker names, for example {{Customer.Name}}.
Parameters
- model System.Object
- options OfficeIMO.Excel.ExcelTemplateOptions
public Int32 ApplyTemplateSheets(String templateSheetName, IEnumerable<IDictionary<String, Object>> sheets, Func<IDictionary<String, Object>, Int32, String> sheetNameSelector = null, ExcelTemplateOptions options = null) #Int32Repeats a template worksheet for each supplied value dictionary and applies markers to each generated sheet.
Parameters
- templateSheetName System.String
- Worksheet to use as the sheet template.
- sheets System.Collections.Generic.IEnumerable{System.Collections.Generic.IDictionary{System.String,System.Object}}
- Per-sheet value dictionaries.
- sheetNameSelector System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Int32,System.String} = null
- Optional generated sheet name selector. The index is zero-based.
- options OfficeIMO.Excel.ExcelTemplateOptions = null
- Optional template binding options.
Returns
Total marker replacements across all generated sheets.
public Int32 ApplyTemplateSheets<T>(String templateSheetName, IEnumerable<T> models, Func<T, Int32, String> sheetNameSelector = null, ExcelTemplateOptions options = null) #Int32Repeats a template worksheet for each supplied model and applies markers to each generated sheet. Public properties are exposed as marker names, including nested dotted names.
Type Parameters
- T
Parameters
- templateSheetName System.String
- Worksheet to use as the sheet template.
- models System.Collections.Generic.IEnumerable{``0}
- Per-sheet models.
- sheetNameSelector System.Func{``0,System.Int32,System.String} = null
- Optional generated sheet name selector. The index is zero-based.
- options OfficeIMO.Excel.ExcelTemplateOptions = null
- Optional template binding options.
Returns
Total marker replacements across all generated sheets.
public ExcelFluentWorkbook AsFluent() #ExcelFluentWorkbookReturns a fluent API wrapper for this document.
public Int32 Calculate() #Int32Calculates formulas that are supported by OfficeIMO's lightweight formula engine and writes cached values. Unsupported formulas are preserved unchanged for Excel-compatible applications to calculate.
Returns
The number of formula cells with updated cached values.
public IReadOnlyList<ExcelRangeDifference> CompareRanges(ExcelSheet leftSheet, String leftRange, ExcelSheet rightSheet, String rightRange, ExcelRangeCompareOptions options = null) #IReadOnlyList<ExcelRangeDifference>Compares two worksheet ranges and returns cell-level differences.
Parameters
- leftSheet OfficeIMO.Excel.ExcelSheet
- leftRange System.String
- rightSheet OfficeIMO.Excel.ExcelSheet
- rightRange System.String
- options OfficeIMO.Excel.ExcelRangeCompareOptions = null
public ExcelWorkbookDiffReport CompareWorkbook(ExcelDocument other, ExcelWorkbookDiffOptions options) #ExcelWorkbookDiffReportCompares this workbook with another workbook using configurable structural, value, style, table, comment, and metadata checks.
Parameters
- other OfficeIMO.Excel.ExcelDocument
- options OfficeIMO.Excel.ExcelWorkbookDiffOptions
public ExcelWorkbookDiffReport CompareWorkbook(ExcelDocument other, Int32 maxDifferences = 200) #ExcelWorkbookDiffReportCompares this workbook with another workbook by sheets, dimensions, formulas, and visible cell text.
Parameters
- other OfficeIMO.Excel.ExcelDocument
- maxDifferences System.Int32 = 200
public IReadOnlyList<ExcelRangeDifference> CompareWorksheets(ExcelSheet leftSheet, ExcelSheet rightSheet, ExcelRangeCompareOptions options = null) #IReadOnlyList<ExcelRangeDifference>Compares the used ranges of two worksheets.
Parameters
- leftSheet OfficeIMO.Excel.ExcelSheet
- rightSheet OfficeIMO.Excel.ExcelSheet
- options OfficeIMO.Excel.ExcelRangeCompareOptions = null
public Void Compose(String sheetName, Action<SheetComposer> compose, SheetTheme theme = null) #VoidFluent sugar: compose a worksheet using SheetComposer without exposing the builder type to callers.
Parameters
- sheetName System.String
- compose System.Action{OfficeIMO.Excel.Fluent.SheetComposer}
- theme OfficeIMO.Excel.Fluent.SheetTheme = null
public Void ConfigureFullCalculationOnOpen() #VoidRequests a full workbook recalculation when the file is opened.
public static ExcelDocumentConversionResult Convert(String sourcePath, String destinationPath, ExcelDocumentConversionOptions options = null) #ExcelDocumentConversionResultConverts an Excel file between XLS and XLSX and returns format and fidelity diagnostics.
Parameters
- sourcePath System.String
- Path to the source XLS or XLSX file.
- destinationPath System.String
- Path to the destination XLS or XLSX file.
- options OfficeIMO.Excel.ExcelDocumentConversionOptions = null
- Optional conversion policy settings.
Returns
The completed conversion result.
public static async Task<ExcelDocumentConversionResult> ConvertAsync(String sourcePath, String destinationPath, ExcelDocumentConversionOptions options = null, CancellationToken cancellationToken = null) #Task<ExcelDocumentConversionResult>Asynchronously converts an Excel file between XLS and XLSX.
Parameters
- sourcePath System.String
- Path to the source XLS or XLSX file.
- destinationPath System.String
- Path to the destination XLS or XLSX file.
- options OfficeIMO.Excel.ExcelDocumentConversionOptions = null
- Optional conversion policy settings.
- cancellationToken System.Threading.CancellationToken = null
- Cancellation token.
Returns
The completed conversion result.
public static Void CopyPackage(String sourcePath, String destinationPath, Boolean overwrite = true) #VoidCopies an existing workbook or template package to a destination path while preserving package parts. The workbook content type is normalized for the destination extension.
Parameters
- sourcePath System.String
- Path to the source workbook or template package.
- destinationPath System.String
- Destination workbook path.
- overwrite System.Boolean = true
- When true, replaces an existing destination file.
public static Void CopyPackage(Stream sourceStream, String destinationPath, Boolean overwrite = true) #VoidCopies a workbook or template package stream to a destination path while preserving package parts. The workbook content type is normalized for the destination extension.
Parameters
- sourceStream System.IO.Stream
- Readable workbook package stream.
- destinationPath System.String
- Destination workbook path.
- overwrite System.Boolean = true
- When true, replaces an existing destination file.
public ExcelSheet CopyWorksheet(String sourceSheetName, String newSheetName, ExcelSheetNameValidationMode validationMode = Sanitize) #ExcelSheetCopies a worksheet within this workbook.
Parameters
- sourceSheetName System.String
- Name of the worksheet to copy.
- newSheetName System.String
- Requested name for the copied worksheet.
- validationMode OfficeIMO.Excel.ExcelSheetNameValidationMode = Sanitize
- How to validate or sanitize newSheetName.
Returns
The copied worksheet.
public ExcelSheet CopyWorksheet(ExcelSheet sourceSheet, String newSheetName, ExcelSheetNameValidationMode validationMode = Sanitize) #ExcelSheetCopies a worksheet within this workbook.
Parameters
- sourceSheet OfficeIMO.Excel.ExcelSheet
- Worksheet to copy.
- newSheetName System.String
- Requested name for the copied worksheet.
- validationMode OfficeIMO.Excel.ExcelSheetNameValidationMode = Sanitize
- How to validate or sanitize newSheetName.
Returns
The copied worksheet.
public ExcelSheet CopyWorksheetFrom(ExcelDocument sourceDocument, String sourceSheetName, String newSheetName, ExcelSheetNameValidationMode validationMode = Sanitize) #ExcelSheetCopies a worksheet from another workbook into this workbook.
Parameters
- sourceDocument OfficeIMO.Excel.ExcelDocument
- Workbook containing the source worksheet.
- sourceSheetName System.String
- Name of the worksheet to copy.
- newSheetName System.String
- Requested name for the copied worksheet.
- validationMode OfficeIMO.Excel.ExcelSheetNameValidationMode = Sanitize
- How to validate or sanitize newSheetName.
Returns
The copied worksheet.
public ExcelSheet CopyWorksheetFrom(ExcelDocument sourceDocument, String sourceSheetName, String newSheetName, ExcelSheetNameValidationMode validationMode, ExcelWorksheetCopyOptions options) #ExcelSheetCopies a worksheet from another workbook into this workbook.
Parameters
- sourceDocument OfficeIMO.Excel.ExcelDocument
- Workbook containing the source worksheet.
- sourceSheetName System.String
- Name of the worksheet to copy.
- newSheetName System.String
- Requested name for the copied worksheet.
- validationMode OfficeIMO.Excel.ExcelSheetNameValidationMode
- How to validate or sanitize newSheetName.
- options OfficeIMO.Excel.ExcelWorksheetCopyOptions
- Copy strategy options.
Returns
The copied worksheet.
public static ExcelDocument Create(ExcelCreateOptions options = null) #ExcelDocumentCreates a detached workbook that must be saved explicitly to a path or stream.
Parameters
- options OfficeIMO.Excel.ExcelCreateOptions = null
- Creation options. SaveOnDispose is invalid without an associated destination.
public static ExcelDocument Create(String filePath, ExcelCreateOptions options = null) #ExcelDocumentCreates a new Excel document at the specified path.
Parameters
- filePath System.String
- Path to the new file.
- options OfficeIMO.Excel.ExcelCreateOptions = null
- Creation and persistence options.
Returns
Created ExcelDocument instance.
public static ExcelDocument Create(Stream stream, ExcelCreateOptions options = null) #ExcelDocumentCreates a new Excel document in memory and optionally persists it to the provided stream on dispose.
Parameters
- stream System.IO.Stream
- Destination stream to receive the workbook package.
- options OfficeIMO.Excel.ExcelCreateOptions = null
- Creation and persistence options.
Returns
Created ExcelDocument instance.
public static ExcelDocument Create(String filePath, String worksheetName) #ExcelDocumentCreates a new Excel document with a single worksheet.
Parameters
- filePath System.String
- Path to the new file.
- worksheetName System.String
- Name of the worksheet.
Returns
Created ExcelDocument instance.
public ExcelWorkbookDataReader CreateDataReader(ExcelReadOptions options = null) #ExcelWorkbookDataReaderCreates a forward-only data reader over this open workbook document. The returned reader does not close the document.
Parameters
- options OfficeIMO.Excel.ExcelReadOptions = null
public static ExcelDocument CreateFromTemplate(String templatePath, String filePath, ExcelTemplateCreateOptions options = null) #ExcelDocumentCreates an editable workbook by copying a template package to a destination path and loading the copy. Package parts such as styles, themes, drawings, tables, named ranges, and worksheet metadata are preserved.
Parameters
- templatePath System.String
- Path to the source workbook or template package.
- filePath System.String
- Destination workbook path.
- options OfficeIMO.Excel.ExcelTemplateCreateOptions = null
- Template creation, persistence, and package options.
Returns
The loaded destination workbook.
public static ExcelDocument CreateFromTemplate(Stream templateStream, String filePath, ExcelTemplateCreateOptions options = null) #ExcelDocumentCreates an editable workbook by copying a template package stream to a destination path and loading the copy.
Parameters
- templateStream System.IO.Stream
- Readable template package stream.
- filePath System.String
- Destination workbook path.
- options OfficeIMO.Excel.ExcelTemplateCreateOptions = null
- Template creation, persistence, and package options.
Returns
The loaded destination workbook.
public ExcelWorkbookSnapshot CreateInspectionSnapshot(ExcelReadOptions options = null) #ExcelWorkbookSnapshotCreates an immutable workbook snapshot that exposes OfficeIMO's current workbook model for downstream integrations.
Parameters
- options OfficeIMO.Excel.ExcelReadOptions = null
public virtual async ValueTask DisposeAsync() #ValueTaskAsynchronously releases resources used by the document.
public ExcelDocument EnsureWorkbookTheme() #ExcelDocumentEnsures the workbook contains the default Office theme and stylesheet parts.
public IReadOnlyList<OfficeImageExportResult> ExportImages(OfficeImageExportFormat format, ExcelWorkbookImageExportOptions options = null) #IReadOnlyList<OfficeImageExportResult>Exports workbook sheets as supported raster formats or SVG images.
Parameters
- format OfficeIMO.Drawing.OfficeImageExportFormat
- options OfficeIMO.Excel.ExcelWorkbookImageExportOptions = null
public Void ExportImages(OfficeImageExportFormat format, OfficeImageExportConsumer consumer, ExcelWorkbookImageExportOptions options = null, CancellationToken cancellationToken = null) #VoidStreams workbook images to a consumer without retaining earlier payloads.
Parameters
- format OfficeIMO.Drawing.OfficeImageExportFormat
- consumer OfficeIMO.Drawing.OfficeImageExportConsumer
- options OfficeIMO.Excel.ExcelWorkbookImageExportOptions = null
- cancellationToken System.Threading.CancellationToken = null
public Byte[] ExtractEmbeddedPayload(String id, Nullable<Int64> maxBytes = null) #Byte[]Extracts an embedded payload by its package-local id.
Parameters
- id System.String
- maxBytes System.Nullable{System.Int64} = null
public Byte[] ExtractMacros(Nullable<Int64> maxBytes = null) #Byte[]Extracts the VBA project, or an empty array when no project exists.
Parameters
- maxBytes System.Nullable{System.Int64} = null
public IReadOnlyDictionary<String, String> GetAllNamedRanges(ExcelSheet scope = null) #IReadOnlyDictionary<String, String>Returns all defined names with their A1 ranges, optionally limited to a sheet scope.
Parameters
- scope OfficeIMO.Excel.ExcelSheet = null
public IReadOnlyList<OfficeEmbeddedPayloadInfo> GetEmbeddedPayloads(Boolean includeSha256 = false) #IReadOnlyList<OfficeEmbeddedPayloadInfo>Gets embedded package, OLE, and ActiveX payload metadata.
Parameters
- includeSha256 System.Boolean = false
public String GetNamedRange(String name, ExcelSheet scope = null) #StringReturns the A1 range for a defined name. If scope is supplied, searches a sheetโlocal name first.
Parameters
- name System.String
- Defined name to resolve.
- scope OfficeIMO.Excel.ExcelSheet = null
- Optional sheet scope to resolve a local name.
Returns
A1 range string or null if not found.
public IReadOnlyList<ExcelNamedStyleInfo> GetNamedStyles() #IReadOnlyList<ExcelNamedStyleInfo>Lists workbook named styles.
public IReadOnlyList<ExcelPivotInteractionInfo> GetPivotInteractions() #IReadOnlyList<ExcelPivotInteractionInfo>Returns native slicer and timeline views across the workbook.
public IReadOnlyList<ExcelPivotTableInfo> GetPivotTables() #IReadOnlyList<ExcelPivotTableInfo>Returns all pivot tables defined in the workbook.
public IReadOnlyList<ExcelQueryBackedTableInfo> GetQueryBackedTables() #IReadOnlyList<ExcelQueryBackedTableInfo>Lists query-backed worksheet tables that have a resolvable native query-table relationship.
public ExcelSheet GetSheet(String name) #ExcelSheetGets a worksheet by name.
Parameters
- name System.String
public IReadOnlyList<String> GetSheetNames() #IReadOnlyList<String>Returns worksheet names in workbook order.
public ExcelStreamingContractReport GetStreamingContract() #ExcelStreamingContractReportReturns a streaming/read-write contract summary for large workbook workflows.
public IReadOnlyList<ExcelTableInfo> GetTables() #IReadOnlyList<ExcelTableInfo>Returns all Excel tables defined in the workbook.
public IReadOnlyList<ExcelPivotInteractionCacheInfo> GetWorkbookSlicerCaches() #IReadOnlyList<ExcelPivotInteractionCacheInfo>Returns workbook-level slicer cache metadata parts.
public ExcelWorkbookThemeInfo GetWorkbookTheme(Boolean includeXml = false) #ExcelWorkbookThemeInfoGets workbook theme metadata and optionally includes the raw theme XML.
Parameters
- includeXml System.Boolean = false
public String GetWorkbookThemeXml() #StringGets the raw workbook theme XML when a theme part exists.
public IReadOnlyList<ExcelPivotInteractionCacheInfo> GetWorkbookTimelineCaches() #IReadOnlyList<ExcelPivotInteractionCacheInfo>Returns workbook-level timeline cache metadata parts.
public ExcelWorkbookWriteReservationInfo GetWriteReservation() #ExcelWorkbookWriteReservationInfoGets workbook write-reservation metadata. This is separate from workbook protection and package encryption.
public IReadOnlyList<ExcelDataSetImportResult> InsertDataSet(DataSet dataSet, Boolean createTables = true, ExcelTableStyle tableStyle = TableStyleMedium2, Boolean includeHeaders = true, Boolean includeAutoFilter = true, Boolean autoFit = false, Nullable<ExcelExecutionMode> mode = null, CancellationToken ct = null) #IReadOnlyList<ExcelDataSetImportResult>Imports a DataSet into the workbook with one worksheet per source DataTable.
Parameters
- dataSet System.Data.DataSet
- Source dataset.
- createTables System.Boolean = true
- Create an Excel table over each imported DataTable.
- tableStyle OfficeIMO.Excel.ExcelTableStyle = TableStyleMedium2
- Excel table style to use when createTables is true.
- includeHeaders System.Boolean = true
- Write source column names as the first row.
- includeAutoFilter System.Boolean = true
- Include table AutoFilter dropdowns when creating tables.
- autoFit System.Boolean = false
- Auto-fit imported columns after each sheet is created.
- mode System.Nullable{OfficeIMO.Excel.ExcelExecutionMode} = null
- Optional execution mode override for DataTable writes.
- ct System.Threading.CancellationToken = null
- Cancellation token.
Returns
Import results describing the created worksheets and ranges.
public ExcelWorkbookCommentReport InspectComments() #ExcelWorkbookCommentReportAudits legacy notes and threaded comments across the workbook.
public ExcelDataModelReport InspectDataModel() #ExcelDataModelReportInspects data model, Power Query, connection, query table, and external link package parts.
public ExcelFeatureReport InspectFeatures() #ExcelFeatureReportInspects workbook features and reports which ones OfficeIMO can edit, partially edit, preserve, or does not support yet.
public ExcelFormulaInspection InspectFormulas() #ExcelFormulaInspectionInspects formula cells across all worksheets without changing workbook contents.
public static OfficePackageSignatureInfo InspectPackageSignatures(String filePath, OfficePackageSignatureInspectionOptions options = null) #OfficePackageSignatureInfoInspects a saved XLSX/XLSM package through the shared dependency-light OPC signature engine.
Parameters
- filePath System.String
- options OfficeIMO.Security.OfficePackageSignatureInspectionOptions = null
public ExcelSignatureInfo InspectSignatures() #ExcelSignatureInfoInspects package-level digital-signature metadata without validating cryptographic trust.
public ExcelTemplateInspection InspectTemplate() #ExcelTemplateInspectionInspects {{Marker}} placeholders across all worksheets without modifying the workbook.
public ExcelTemplateInspection InspectTemplate(IDictionary<String, Object> values) #ExcelTemplateInspectionInspects {{Marker}} placeholders across all worksheets and reports which markers are missing from the supplied values.
Parameters
- values System.Collections.Generic.IDictionary{System.String,System.Object}
public ExcelTemplateInspection InspectTemplate(Object model) #ExcelTemplateInspectionInspects {{Marker}} placeholders across all worksheets and reports which markers are missing from public properties on the supplied model.
Parameters
- model System.Object
public OfficeVbaProjectInfo InspectVbaProject(Boolean includeSha256 = false) #OfficeVbaProjectInfoInspects the attached VBA project without executing macro code.
Parameters
- includeSha256 System.Boolean = false
public OfficeVbaProjectInfo InspectVbaProject(Boolean includeSha256, Int64 maxBytes) #OfficeVbaProjectInfoInspects the attached VBA project while enforcing a decoded byte limit.
Parameters
- includeSha256 System.Boolean
- maxBytes System.Int64
public static OfficeVbaSignatureInfo InspectVbaSignatures(String filePath, OfficeVbaSignatureInspectionOptions options = null) #OfficeVbaSignatureInfoInspects legacy, agile, and V3 VBA signature profiles in a saved XLSM/XLTM/XLAM package.
Parameters
- filePath System.String
- options OfficeIMO.Security.OfficeVbaSignatureInspectionOptions = null
public Void InvalidateFormulas() #VoidMarks all formulas dirty so Excel-compatible applications recalculate them on open.
public IReadOnlyList<ExcelNamedRangeInfo> ListNamedRanges(Boolean includeBuiltIn = true, Boolean includeHidden = true) #IReadOnlyList<ExcelNamedRangeInfo>Returns all workbook and sheet-scoped defined names with scope and hidden metadata.
Parameters
- includeBuiltIn System.Boolean = true
- includeHidden System.Boolean = true
public static ExcelDocument Load(String filePath, ExcelLoadOptions options = null) #ExcelDocumentLoads an existing Excel document.
Parameters
- filePath System.String
- Path to the file.
- options OfficeIMO.Excel.ExcelLoadOptions = null
- Access, persistence, and low-level package options.
Returns
Loaded ExcelDocument instance.
public static ExcelDocument Load(Stream stream, ExcelLoadOptions options = null) #ExcelDocumentLoads an existing Excel document from the provided stream.
Parameters
- stream System.IO.Stream
- Input stream containing the workbook package. Editable writable seekable sources become the associated destination; other sources remain detached.
- options OfficeIMO.Excel.ExcelLoadOptions = null
- Access, persistence, and low-level package options.
Returns
Loaded ExcelDocument instance.
public static async Task<ExcelDocument> LoadAsync(String filePath, ExcelLoadOptions options = null, CancellationToken cancellationToken = null) #Task<ExcelDocument>Asynchronously loads an Excel document from the specified path.
Parameters
- filePath System.String
- Path to the Excel file.
- options OfficeIMO.Excel.ExcelLoadOptions = null
- Access, persistence, and low-level package options.
- cancellationToken System.Threading.CancellationToken = null
- Cancellation token.
Returns
Loaded ExcelDocument instance.
Exceptions
FileNotFoundExceptionโ Thrown when the file does not exist.
public static async Task<ExcelDocument> LoadAsync(Stream stream, ExcelLoadOptions options = null, CancellationToken cancellationToken = null) #Task<ExcelDocument>Asynchronously loads an Excel document from the provided stream.
Parameters
- stream System.IO.Stream
- Input stream containing the workbook package. Editable writable seekable sources become the associated destination; other sources remain detached.
- options OfficeIMO.Excel.ExcelLoadOptions = null
- Access, persistence, and low-level package options.
- cancellationToken System.Threading.CancellationToken = null
- Cancellation token.
Returns
Loaded ExcelDocument instance.
public static async Task<ExcelDocument> LoadAsync(Uri uri, ExcelHttpLoadOptions httpOptions = null, ExcelLoadOptions options = null, CancellationToken cancellationToken = null) #Task<ExcelDocument>Asynchronously loads an Excel workbook from a remote URI.
Parameters
- uri System.Uri
- HTTP or HTTPS URI of the workbook.
- httpOptions OfficeIMO.Excel.ExcelHttpLoadOptions = null
- Optional HTTP loading options.
- options OfficeIMO.Excel.ExcelLoadOptions = null
- Access, persistence, and low-level package options.
- cancellationToken System.Threading.CancellationToken = null
- Cancellation token.
Returns
Loaded ExcelDocument instance.
public static ExcelDocument LoadEncrypted(String filePath, String password, ExcelLoadOptions options = null) #ExcelDocumentLoads a password-encrypted Office Open XML workbook or legacy binary `.xls` workbook.
Parameters
- filePath System.String
- Path to the encrypted workbook.
- password System.String
- Password used to decrypt the workbook package.
- options OfficeIMO.Excel.ExcelLoadOptions = null
- Access and load options. SaveOnDispose is not supported for encrypted sources.
Returns
Loaded ExcelDocument instance.
public static ExcelDocument LoadEncrypted(Stream stream, String password, ExcelLoadOptions options = null) #ExcelDocumentLoads a password-encrypted Office Open XML workbook or legacy binary workbook from a stream.
Parameters
- stream System.IO.Stream
- Input stream containing the encrypted workbook.
- password System.String
- Password used to decrypt the workbook package.
- options OfficeIMO.Excel.ExcelLoadOptions = null
- Access and load options. SaveOnDispose is not supported for encrypted sources.
Returns
Loaded ExcelDocument instance.
public static async Task<ExcelDocument> LoadEncryptedAsync(String filePath, String password, ExcelLoadOptions options = null, CancellationToken cancellationToken = null) #Task<ExcelDocument>Asynchronously loads a password-encrypted Office Open XML workbook or legacy binary `.xls` workbook.
Parameters
- filePath System.String
- Path to the encrypted workbook.
- password System.String
- Password used to decrypt the workbook package.
- options OfficeIMO.Excel.ExcelLoadOptions = null
- Access and load options. SaveOnDispose is not supported for encrypted sources.
- cancellationToken System.Threading.CancellationToken = null
- Cancellation token.
Returns
Loaded ExcelDocument instance.
public static async Task<ExcelDocument> LoadEncryptedAsync(Stream stream, String password, ExcelLoadOptions options = null, CancellationToken cancellationToken = null) #Task<ExcelDocument>Asynchronously loads a password-encrypted Office Open XML workbook or legacy binary workbook from a stream.
Parameters
- stream System.IO.Stream
- Input stream containing the encrypted workbook.
- password System.String
- Password used to decrypt the workbook package.
- options OfficeIMO.Excel.ExcelLoadOptions = null
- Access and load options. SaveOnDispose is not supported for encrypted sources.
- cancellationToken System.Threading.CancellationToken = null
- Cancellation token.
Returns
Loaded ExcelDocument instance.
public static ExcelDocument LoadLegacyXls(String path, LegacyXlsImportOptions options = null) #ExcelDocumentLoads a legacy binary `.xls` workbook and projects supported content into a normal OfficeIMO Excel document. The resulting document can save as Open XML `.xlsx` or as a supported native `.xls` subset.
Parameters
- path System.String
- options OfficeIMO.Excel.LegacyXls.LegacyXlsImportOptions = null
public static ExcelDocument LoadLegacyXls(Stream stream, LegacyXlsImportOptions options = null) #ExcelDocumentLoads a legacy binary `.xls` workbook stream and projects supported content into a normal OfficeIMO Excel document. The resulting document can save as Open XML `.xlsx` or as a supported native `.xls` subset.
Parameters
- stream System.IO.Stream
- options OfficeIMO.Excel.LegacyXls.LegacyXlsImportOptions = null
public static LegacyXlsLoadResult LoadLegacyXlsWithReport(String path, LegacyXlsImportOptions options = null) #LegacyXlsLoadResultLoads a legacy binary `.xls` workbook and returns both the projected OfficeIMO document and the import report. The resulting document can save as Open XML `.xlsx` or as a supported native `.xls` subset.
Parameters
- path System.String
- options OfficeIMO.Excel.LegacyXls.LegacyXlsImportOptions = null
public static LegacyXlsLoadResult LoadLegacyXlsWithReport(Stream stream, LegacyXlsImportOptions options = null) #LegacyXlsLoadResultLoads a legacy binary `.xls` workbook stream and returns both the projected OfficeIMO document and the import report. The resulting document can save as Open XML `.xlsx` or as a supported native `.xls` subset.
Parameters
- stream System.IO.Stream
- options OfficeIMO.Excel.LegacyXls.LegacyXlsImportOptions = null
public ExcelWorkbookMergeResult MergeWorkbookFrom(ExcelDocument sourceDocument, ExcelWorkbookMergeOptions options = null) #ExcelWorkbookMergeResultImports selected or all worksheets from another workbook into this workbook.
Parameters
- sourceDocument OfficeIMO.Excel.ExcelDocument
- options OfficeIMO.Excel.ExcelWorkbookMergeOptions = null
public ExcelWorksheetMergeResult MergeWorksheets(ExcelSheet targetSheet, ExcelSheet sourceSheet, ExcelWorksheetMergeOptions options = null) #ExcelWorksheetMergeResultMerges source worksheet rows into a target worksheet by appending or writing to a requested target position. This is a workbook operation over worksheet values; callers own any data shaping or relational joins before writing.
Parameters
- targetSheet OfficeIMO.Excel.ExcelSheet
- sourceSheet OfficeIMO.Excel.ExcelSheet
- options OfficeIMO.Excel.ExcelWorksheetMergeOptions = null
public static String NormalizeDefinedName(String name, ExcelDefinedNameValidationMode mode = Sanitize) #StringEnsures a defined name complies with Excel rules. In Sanitize mode, returns a corrected name. Throws in Strict mode when input is invalid. Rules: - 1..255 characters - First char must be a letter, underscore, or backslash - Allowed characters: letters, digits, underscore, period, backslash - Cannot look like a cell reference (e.g., A1, AA10) or an R1C1 reference - Cannot be TRUE or FALSE (case-insensitive)
Parameters
- name System.String
- Authored workbook defined name.
- mode OfficeIMO.Excel.ExcelDefinedNameValidationMode = Sanitize
- Whether invalid names are sanitized or rejected.
Returns
The exact defined name that can be emitted to the workbook.
public static ExcelWorkbookDataReader OpenDataReader(String path, ExcelReadOptions options = null) #ExcelWorkbookDataReaderOpens an XLSX, XLSM, XLTX, XLTM, XLAM, XLSB, or BIFF8 XLS workbook as a forward-only data reader. Worksheets are exposed in workbook order through NextResult.
Parameters
- path System.String
- options OfficeIMO.Excel.ExcelReadOptions = null
public static ExcelWorkbookDataReader OpenDataReader(Stream stream, ExcelReadOptions options = null) #ExcelWorkbookDataReaderOpens an XLSX, XLSM, XLTX, XLTM, XLAM, XLSB, or BIFF8 XLS workbook stream as a forward-only data reader. The format is detected from the package rather than the file name. The input stream remains open after the returned reader is disposed.
Parameters
- stream System.IO.Stream
- Readable workbook stream positioned at the workbook bytes to read.
- options OfficeIMO.Excel.ExcelReadOptions = null
- Workbook reader options.
Returns
A forward-only reader whose results follow workbook worksheet order.
public static ExcelWorkbookDataReader OpenDataReader(Byte[] bytes, ExcelReadOptions options = null) #ExcelWorkbookDataReaderOpens an in-memory XLSX, XLSM, XLTX, XLTM, XLAM, XLSB, or BIFF8 XLS workbook as a forward-only data reader.
Parameters
- bytes System.Byte[]
- options OfficeIMO.Excel.ExcelReadOptions = null
public static async Task<ExcelWorkbookDataReader> OpenDataReaderAsync(Uri uri, ExcelReadOptions options = null, ExcelHttpLoadOptions httpOptions = null, CancellationToken cancellationToken = null) #Task<ExcelWorkbookDataReader>Downloads an HTTP or HTTPS workbook and opens it as a forward-only data reader.
Parameters
- uri System.Uri
- options OfficeIMO.Excel.ExcelReadOptions = null
- httpOptions OfficeIMO.Excel.ExcelHttpLoadOptions = null
- cancellationToken System.Threading.CancellationToken = null
public static ExcelDocument OpenFileBacked(String filePath, ExcelLoadOptions options = null, CancellationToken cancellationToken = null) #ExcelDocumentOpens an existing Open XML workbook through a temporary file-backed package. This path avoids buffering the complete source workbook and checks cancellation while copying. It does not replace the normal optimized load path.
Parameters
- filePath System.String
- options OfficeIMO.Excel.ExcelLoadOptions = null
- cancellationToken System.Threading.CancellationToken = null
public Void OpenInApplication(String filePath = null) #VoidOpens the associated workbook in the operating system's registered application.
Parameters
- filePath System.String = null
public Void PreflightWorkbook() #VoidPerforms a safety preflight across all worksheets to reduce the likelihood of Excel prompting for repairs on open. It removes empty containers (Hyperlinks/MergeCells), drops orphaned drawing and header/footer references, and cleans up invalid table references.
public Void ProtectWorkbook(ExcelWorkbookProtectionOptions options = null) #VoidProtects workbook structure/window metadata. This is not file encryption.
Parameters
- options OfficeIMO.Excel.ExcelWorkbookProtectionOptions = null
public Int32 RecalculateSupportedFormulas() #Int32Evaluates supported formulas and writes cached values.
public async Task<IReadOnlyList<ExcelQueryRefreshResult>> RefreshQueriesAsync(IExcelQueryExecutionHost host, ExcelQueryExecutionPolicy policy, CancellationToken cancellationToken = null) #Task<IReadOnlyList<ExcelQueryRefreshResult>>Refreshes all query-backed tables sequentially through one explicit caller host and policy.
Parameters
- host OfficeIMO.Excel.IExcelQueryExecutionHost
- policy OfficeIMO.Excel.ExcelQueryExecutionPolicy
- cancellationToken System.Threading.CancellationToken = null
public async Task<ExcelQueryRefreshResult> RefreshQueryAsync(String connectionOrTableName, IExcelQueryExecutionHost host, ExcelQueryExecutionPolicy policy, CancellationToken cancellationToken = null) #Task<ExcelQueryRefreshResult>Executes one query through an explicit caller host and atomically replaces its owned table data.
Parameters
- connectionOrTableName System.String
- host OfficeIMO.Excel.IExcelQueryExecutionHost
- policy OfficeIMO.Excel.ExcelQueryExecutionPolicy
- cancellationToken System.Threading.CancellationToken = null
public Boolean RemoveCustomDocumentProperty(String name) #BooleanRemoves a custom workbook property.
Parameters
- name System.String
public Boolean RemoveEmbeddedPayload(String id) #BooleanRemoves an embedded payload and known worksheet OLE/control markup that references it.
Parameters
- id System.String
public Boolean RemoveNamedRange(String name, ExcelSheet scope = null, Boolean save = true) #BooleanRemoves a defined name. If scope is provided, removes the sheetโlocal name; otherwise the global name.
Parameters
- name System.String
- Defined name to remove.
- scope OfficeIMO.Excel.ExcelSheet = null
- Optional sheet scope.
- save System.Boolean = true
- When true, saves the workbook after removal.
Returns
True if the name existed and was removed; otherwise false.
public Boolean RemoveNamedStyle(String name) #BooleanRemoves a custom named-style catalog entry without changing already formatted cells.
Parameters
- name System.String
public Boolean RemovePivotInteraction(String name, Boolean removeUnusedCache = true) #BooleanRemoves one native slicer or timeline view and optionally its unused cache.
Parameters
- name System.String
- removeUnusedCache System.Boolean = true
public Boolean RemoveQueryBackedTable(String connectionOrTableName, Boolean preserveTable = true) #BooleanDetaches a query binding and removes its unused OfficeIMO-owned connection, optionally converting the table to a normal cell range.
Parameters
- connectionOrTableName System.String
- preserveTable System.Boolean = true
public Void RemoveWorksheet(String sheetName) #VoidRemoves a worksheet by name, deleting its part and entry in the workbook.
Parameters
- sheetName System.String
public Boolean RenameNamedRange(String oldName, String newName, ExcelSheet scope = null, ExcelDefinedNameValidationMode validationMode = Sanitize, Boolean save = true) #BooleanRenames an existing workbook or sheet-scoped defined name.
Parameters
- oldName System.String
- newName System.String
- scope OfficeIMO.Excel.ExcelSheet = null
- validationMode OfficeIMO.Excel.ExcelDefinedNameValidationMode = Sanitize
- save System.Boolean = true
public Void ReorderWorksheet(String sheetName, Int32 targetIndex) #VoidReorders a worksheet by name using a zero-based target index.
Parameters
- sheetName System.String
- targetIndex System.Int32
public Void ReorderWorksheet(ExcelSheet sheet, Int32 targetIndex) #VoidReorders a worksheet using a zero-based target index.
Parameters
- sheet OfficeIMO.Excel.ExcelSheet
- targetIndex System.Int32
public ExcelWorkbookRepairReport RepairWorkbook(ExcelWorkbookRepairOptions options = null) #ExcelWorkbookRepairReportRuns safe workbook repairs using OfficeIMO's existing cleanup engines, then returns before/after diagnostics.
Parameters
- options OfficeIMO.Excel.ExcelWorkbookRepairOptions = null
public Void ReplaceEmbeddedPayload(String id, Byte[] data) #VoidReplaces an embedded payload while preserving its owner relationship.
Parameters
- id System.String
- data System.Byte[]
public Void ReplaceEmbeddedPayload(String id, Stream stream, Nullable<Int64> maxBytes = null) #VoidReplaces an embedded payload from a readable stream.
Parameters
- id System.String
- stream System.IO.Stream
- maxBytes System.Nullable{System.Int64} = null
public ExcelDocument ResetWorkbookTheme(String name = null) #ExcelDocumentReplaces the workbook theme with the embedded default Office theme.
Parameters
- name System.String = null
public String ResolveThemeColorArgb(UInt32 themeIndex, Nullable<Double> tint = null) #StringResolves a SpreadsheetML theme color to an ARGB hexadecimal value.
Parameters
- themeIndex System.UInt32
- Zero-based SpreadsheetML theme index: light 1, dark 1, light 2, dark 2, followed by accent colors 1 through 6.
- tint System.Nullable{System.Double} = null
- Optional SpreadsheetML tint between -1 and 1.
Returns
An eight-character ARGB value, or null when the theme color cannot be resolved.
public ExcelWorkbookDiagnosticReport RunWorkbookDoctor(ExcelWorkbookDoctorOptions options = null) #ExcelWorkbookDiagnosticReportRuns workbook diagnostics and optional safe repairs for common automation hazards.
Parameters
- options OfficeIMO.Excel.ExcelWorkbookDoctorOptions = null
public Void Save(String filePath) #VoidSaves the document without opening it.
Parameters
- filePath System.String
- Path to save to.
public Void Save(String filePath, ExcelSaveOptions options) #VoidSaves the document with typed options and no positional Boolean.
Parameters
- filePath System.String
- Path to save to.
- options OfficeIMO.Excel.ExcelSaveOptions
- Optional save policy settings.
public Void Save(ExcelSaveOptions options) #VoidSaves to the associated destination with optional save settings.
Parameters
- options OfficeIMO.Excel.ExcelSaveOptions
public Void Save(Stream destination) #VoidSaves the document into a writable stream as XLSX.
Parameters
- destination System.IO.Stream
- Writable stream that receives the Excel package content.
public Void Save(Stream destination, ExcelSaveOptions options) #VoidSaves the document into a writable stream with optional robustness options.
Parameters
- destination System.IO.Stream
- Writable stream that receives the Excel package content.
- options OfficeIMO.Excel.ExcelSaveOptions
- Optional save behaviors (safe defined-name repair, post-save Open XML validation).
public Void Save(Stream destination, ExcelFileFormat format, ExcelSaveOptions options = null) #VoidSaves the workbook to a stream in the explicitly selected physical format.
Parameters
- destination System.IO.Stream
- Writable destination stream. This one-time save does not change the associated destination.
- format OfficeIMO.Excel.ExcelFileFormat
- Physical XLSX, XLS, or XLSB format.
- options OfficeIMO.Excel.ExcelSaveOptions = null
- Optional save settings.
public IReadOnlyList<OfficeImageExportResult> SaveAsImages(String folderPath, ExcelWorkbookImageExportOptions options = null) #IReadOnlyList<OfficeImageExportResult>Saves workbook sheets as PNG files in a folder.
Parameters
- folderPath System.String
- options OfficeIMO.Excel.ExcelWorkbookImageExportOptions = null
public IReadOnlyList<OfficeImageExportResult> SaveAsImages(String folderPath, OfficeImageExportFormat format, ExcelWorkbookImageExportOptions options = null) #IReadOnlyList<OfficeImageExportResult>Saves workbook sheets as image files in a folder.
Parameters
- folderPath System.String
- format OfficeIMO.Drawing.OfficeImageExportFormat
- options OfficeIMO.Excel.ExcelWorkbookImageExportOptions = null
public Task<IReadOnlyList<OfficeImageExportResult>> SaveAsImagesAsync(String folderPath, ExcelWorkbookImageExportOptions options = null, CancellationToken cancellationToken = null) #Task<IReadOnlyList<OfficeImageExportResult>>Asynchronously saves workbook sheets as PNG files in a folder.
Parameters
- folderPath System.String
- options OfficeIMO.Excel.ExcelWorkbookImageExportOptions = null
- cancellationToken System.Threading.CancellationToken = null
public Task<IReadOnlyList<OfficeImageExportResult>> SaveAsImagesAsync(String folderPath, OfficeImageExportFormat format, ExcelWorkbookImageExportOptions options = null, CancellationToken cancellationToken = null) #Task<IReadOnlyList<OfficeImageExportResult>>Asynchronously saves workbook sheets as image files in a folder.
Parameters
- folderPath System.String
- format OfficeIMO.Drawing.OfficeImageExportFormat
- options OfficeIMO.Excel.ExcelWorkbookImageExportOptions = null
- cancellationToken System.Threading.CancellationToken = null
public Task SaveAsync(Stream destination, CancellationToken cancellationToken = null) #TaskAsynchronously saves the document into a writable stream.
Parameters
- destination System.IO.Stream
- Writable stream that receives the Excel package content.
- cancellationToken System.Threading.CancellationToken = null
- Cancels the asynchronous save work.
public Task SaveAsync(Stream destination, ExcelSaveOptions options, CancellationToken cancellationToken = null) #TaskAsynchronously saves the document into a writable stream with optional robustness options.
Parameters
- destination System.IO.Stream
- Writable stream that receives the Excel package content.
- options OfficeIMO.Excel.ExcelSaveOptions
- Optional save behaviors (safe defined-name repair, post-save Open XML validation).
- cancellationToken System.Threading.CancellationToken = null
- Cancels the asynchronous save work.
public async Task SaveAsync(Stream destination, ExcelFileFormat format, ExcelSaveOptions options = null, CancellationToken cancellationToken = null) #TaskAsynchronously saves the workbook to a stream in the selected physical format.
Parameters
- destination System.IO.Stream
- Writable destination stream.
- format OfficeIMO.Excel.ExcelFileFormat
- Physical XLSX or XLS format.
- options OfficeIMO.Excel.ExcelSaveOptions = null
- Optional save settings.
- cancellationToken System.Threading.CancellationToken = null
- Cancellation token.
public Task SaveAsync(CancellationToken cancellationToken = null) #TaskAsynchronously saves the document.
Parameters
- cancellationToken System.Threading.CancellationToken = null
- Cancellation token.
public Task SaveAsync(ExcelSaveOptions options, CancellationToken cancellationToken = null) #TaskAsynchronously saves to the associated destination with optional save settings.
Parameters
- options OfficeIMO.Excel.ExcelSaveOptions
- cancellationToken System.Threading.CancellationToken = null
public Task SaveAsync(String filePath, ExcelSaveOptions options = null, CancellationToken cancellationToken = null) #TaskAsynchronously saves to a path with optional save settings.
Parameters
- filePath System.String
- options OfficeIMO.Excel.ExcelSaveOptions = null
- cancellationToken System.Threading.CancellationToken = null
public Void SaveCopy(String filePath, ExcelSaveOptions options = null) #VoidSaves an independent copy without changing this workbook's associated destination.
Parameters
- filePath System.String
- Destination XLSX, XLSM, XLTX, XLTM, XLAM, XLS, or XLSB path.
- options OfficeIMO.Excel.ExcelSaveOptions = null
- Optional save policy settings.
public async Task SaveCopyAsync(String filePath, ExcelSaveOptions options = null, CancellationToken cancellationToken = null) #TaskAsynchronously saves an independent copy without changing this workbook's associated destination.
Parameters
- filePath System.String
- options OfficeIMO.Excel.ExcelSaveOptions = null
- cancellationToken System.Threading.CancellationToken = null
public Void SaveEmbeddedPayload(String id, String filePath, Nullable<Int64> maxBytes = null) #VoidSaves an embedded payload by its package-local id.
Parameters
- id System.String
- filePath System.String
- maxBytes System.Nullable{System.Int64} = null
public Void SaveEncrypted(String filePath, String password, ExcelSaveOptions saveOptions = null) #VoidSaves the workbook as a password-encrypted Office Open XML package.
Parameters
- filePath System.String
- Destination path. When empty, uses the original FilePath.
- password System.String
- Password used to encrypt the workbook package.
- saveOptions OfficeIMO.Excel.ExcelSaveOptions = null
- Optional save behaviors (safe defined-name repair, post-save Open XML validation).
public Void SaveEncrypted(Stream destination, String password, ExcelSaveOptions saveOptions = null) #VoidSaves the workbook as a password-encrypted Office Open XML package to a stream.
Parameters
- destination System.IO.Stream
- Writable stream that receives the encrypted workbook.
- password System.String
- Password used to encrypt the workbook package.
- saveOptions OfficeIMO.Excel.ExcelSaveOptions = null
- Optional save behaviors (safe defined-name repair, post-save Open XML validation).
public Void SaveMacros(String filePath, Nullable<Int64> maxBytes = null) #VoidSaves the VBA project when one is present.
Parameters
- filePath System.String
- maxBytes System.Nullable{System.Int64} = null
public IReadOnlyList<ExcelFormulaCellInfo> SearchFormulas(ExcelFormulaSearchOptions options) #IReadOnlyList<ExcelFormulaCellInfo>Searches formula text, function calls, or parsed references across the workbook.
Parameters
- options OfficeIMO.Excel.ExcelFormulaSearchOptions
public Void SetActiveWorksheet(String sheetName) #VoidSets the worksheet that spreadsheet applications should show when the workbook opens.
Parameters
- sheetName System.String
- Worksheet name.
public Void SetActiveWorksheet(Int32 sheetIndex) #VoidSets the worksheet that spreadsheet applications should show when the workbook opens.
Parameters
- sheetIndex System.Int32
- Zero-based worksheet index.
public Void SetActiveWorksheet(ExcelSheet sheet) #VoidSets the worksheet that spreadsheet applications should show when the workbook opens.
Parameters
- sheet OfficeIMO.Excel.ExcelSheet
- Worksheet to activate.
public Void SetCustomDocumentProperty(String name, ExcelCustomProperty property) #VoidSets or replaces a custom workbook property.
Parameters
- name System.String
- property OfficeIMO.Excel.ExcelCustomProperty
public Void SetCustomDocumentProperty(String name, Object value) #VoidSets or replaces a custom workbook property, inferring the custom property type from the value.
Parameters
- name System.String
- value System.Object
public Void SetNamedRange(String name, String range, ExcelSheet scope = null, Boolean save = true, Boolean hidden = false, ExcelDefinedNameValidationMode validationMode = Sanitize) #VoidCreates or updates a defined name pointing to an A1 range. When scope is provided, the name is local to that sheet; otherwise it is workbookโglobal.
Parameters
- name System.String
- Defined name to create or update.
- range System.String
- A1 range (e.g. "A1:B10"). Can include a sheet prefix.
- scope OfficeIMO.Excel.ExcelSheet = null
- Optional sheet scope for a local name.
- save System.Boolean = true
- When true, saves the workbook after the change.
- hidden System.Boolean = false
- When true, marks the defined name as hidden.
- validationMode OfficeIMO.Excel.ExcelDefinedNameValidationMode = Sanitize
- Controls how the name and range are validated: Sanitize (default) clamps/adjusts; Strict throws on invalid input.
public Void SetPrintArea(ExcelSheet sheet, String range, Boolean save = true) #VoidSets the print area for a given sheet by creating a sheet-local defined name _xlnm.Print_Area.
Parameters
- sheet OfficeIMO.Excel.ExcelSheet
- range System.String
- save System.Boolean = true
public Void SetPrintTitles(ExcelSheet sheet, Nullable<Int32> firstRow, Nullable<Int32> lastRow, Nullable<Int32> firstCol, Nullable<Int32> lastCol, Boolean save = true) #VoidSets rows/columns to repeat at top/left when printing a specific sheet by creating a sheet-local defined name _xlnm.Print_Titles. Pass nulls to clear existing print titles.
Parameters
- sheet OfficeIMO.Excel.ExcelSheet
- Target sheet.
- firstRow System.Nullable{System.Int32}
- First row to repeat (1-based), or null.
- lastRow System.Nullable{System.Int32}
- Last row to repeat (1-based), or null.
- firstCol System.Nullable{System.Int32}
- First column to repeat (1-based), or null.
- lastCol System.Nullable{System.Int32}
- Last column to repeat (1-based), or null.
- save System.Boolean = true
- Whether to save the workbook after the change.
public ExcelRefreshOnOpenResult SetRefreshOnOpen(Boolean enabled = true, Boolean pivotTables = true, Boolean connections = true, Nullable<Boolean> savePivotSourceData = null) #ExcelRefreshOnOpenResultEnables or disables workbook refresh-on-open metadata for supported workbook data features. OfficeIMO writes the metadata request; Excel-compatible applications perform the actual refresh on open.
Parameters
- enabled System.Boolean = true
- Whether refresh-on-open should be enabled.
- pivotTables System.Boolean = true
- Update pivot cache definitions.
- connections System.Boolean = true
- Update workbook connection metadata parts.
- savePivotSourceData System.Nullable{System.Boolean} = null
- Optional pivot cache source-data setting to apply together with the refresh request.
Returns
Counts of metadata entries updated.
public ExcelDocument SetWorkbookThemeName(String name) #ExcelDocumentSets the workbook theme name while preserving the rest of the theme XML.
Parameters
- name System.String
public ExcelDocument SetWorkbookThemeXml(String themeXml) #ExcelDocumentReplaces or creates the workbook theme part with caller-supplied DrawingML theme XML.
Parameters
- themeXml System.String
public Void SetWriteReservation(ExcelWorkbookWriteReservationOptions options = null) #VoidWrites workbook write-reservation metadata. This is not package encryption and does not protect worksheet or workbook structure.
Parameters
- options OfficeIMO.Excel.ExcelWorkbookWriteReservationOptions = null
public static OfficePackageSigningResult SignPackageSignature(String filePath, IOfficeSecurityProvider securityProvider, X509Certificate2 signingCertificate, OfficePackageSigningOptions options = null) #OfficePackageSigningResultCreates and validates an OPC signature in a saved XLSX/XLSM package.
Parameters
- filePath System.String
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
- options OfficeIMO.Security.OfficePackageSigningOptions = null
public static OfficeVbaSigningResult SignVbaProject(String filePath, IOfficeSecurityProvider securityProvider, X509Certificate2 signingCertificate, OfficeVbaSigningOptions options = null, IEnumerable<X509Certificate2> certificateChain = null) #OfficeVbaSigningResultCreates and atomically validates legacy, agile, and V3 VBA signatures.
Parameters
- filePath System.String
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
- options OfficeIMO.Security.OfficeVbaSigningOptions = null
- certificateChain System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null
public Byte[] ToBytes(ExcelFileFormat format = Xlsx, ExcelSaveOptions options = null) #Byte[]Encodes the workbook in the selected physical format.
Parameters
- format OfficeIMO.Excel.ExcelFileFormat = Xlsx
- options OfficeIMO.Excel.ExcelSaveOptions = null
public ExcelWorkbookImageExportBuilder ToImages() #ExcelWorkbookImageExportBuilderStarts a fluent image export for selected worksheets in this workbook.
public ExcelWorkbookImageExportBuilder ToImages(ExcelWorkbookImageExportOptions options) #ExcelWorkbookImageExportBuilderStarts a fluent batch export using a cloned options snapshot.
Parameters
- options OfficeIMO.Excel.ExcelWorkbookImageExportOptions
public MemoryStream ToStream(ExcelFileFormat format = Xlsx, ExcelSaveOptions options = null) #MemoryStreamEncodes the workbook in a new writable memory stream positioned at the beginning.
Parameters
- format OfficeIMO.Excel.ExcelFileFormat = Xlsx
- options OfficeIMO.Excel.ExcelSaveOptions = null
public Boolean TryGetCompatibilitySourcePayload(out OfficeCompatibilitySourcePayload payload, out String error) #BooleanTries to read an original source retained by a compatibility conversion.
Parameters
- payload OfficeIMO.OfficeCompatibilitySourcePayload@
- error System.String@
public Boolean TryGetSheet(String name, out ExcelSheet sheet) #BooleanTries to get a worksheet by name.
Parameters
- name System.String
- sheet OfficeIMO.Excel.ExcelSheet@
public static OfficePackageSigningResult TrySignPackageSignature(String filePath, IOfficeSecurityProvider securityProvider, X509Certificate2 signingCertificate, OfficePackageSigningOptions options = null) #OfficePackageSigningResultAttempts OPC signature creation without throwing for an ordinary signing failure.
Parameters
- filePath System.String
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
- options OfficeIMO.Security.OfficePackageSigningOptions = null
public static OfficeVbaSigningResult TrySignVbaProject(String filePath, IOfficeSecurityProvider securityProvider, X509Certificate2 signingCertificate, OfficeVbaSigningOptions options = null, IEnumerable<X509Certificate2> certificateChain = null) #OfficeVbaSigningResultAttempts atomic VBA signing and returns structured failure evidence.
Parameters
- filePath System.String
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
- options OfficeIMO.Security.OfficeVbaSigningOptions = null
- certificateChain System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null
public Void UnprotectWorkbook() #VoidRemoves workbook-level structure/window protection metadata.
public List<OfficeOpenXmlValidationError> ValidateDocument(OfficeOpenXmlFileFormatVersion fileFormatVersion = Microsoft365) #List<OfficeOpenXmlValidationError>Validates the document using the specified file format version.
Parameters
- fileFormatVersion OfficeIMO.OfficeOpenXmlFileFormatVersion = Microsoft365
- File format version to validate against.
Returns
List of validation errors.
public IReadOnlyList<String> ValidateOpenXml() #IReadOnlyList<String>Validates the current spreadsheet with Open XML validator and returns error messages (if any). Useful for troubleshooting "Repaired Records" issues in Excel.
public static OfficePackageSignatureValidationReport ValidatePackageSignatures(String filePath, IOfficeSecurityProvider securityProvider, OfficePackageSignatureValidationOptions options = null) #OfficePackageSignatureValidationReportValidates a saved XLSX/XLSM package through an explicitly supplied security provider.
Parameters
- filePath System.String
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- options OfficeIMO.Security.OfficePackageSignatureValidationOptions = null
public ExcelTemplateBindingReport ValidateTemplateBindings(IDictionary<String, Object> values) #ExcelTemplateBindingReportValidates all workbook template markers against a dictionary of values before applying the template.
Parameters
- values System.Collections.Generic.IDictionary{System.String,System.Object}
public ExcelTemplateBindingReport ValidateTemplateBindings(Object model) #ExcelTemplateBindingReportValidates all workbook template markers against an object model before applying the template.
Parameters
- model System.Object
public static OfficeVbaSignatureValidationResult ValidateVbaSignatures(String filePath, IOfficeSecurityProvider securityProvider, OfficeVbaSignatureInspectionOptions options = null) #OfficeVbaSignatureValidationResultValidates VBA CMS, trust, timestamp, and Office SIP content binding.
Parameters
- filePath System.String
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- options OfficeIMO.Security.OfficeVbaSignatureInspectionOptions = null
public static ExcelDataSetImportResult WriteDataReader(Stream stream, IDataReader reader, ExcelTabularWriteOptions options = null, CancellationToken ct = null) #ExcelDataSetImportResultWrites an open data reader directly to an XLSX package without creating an editable workbook object. The caller owns the reader and its connection.
Parameters
- stream System.IO.Stream
- reader System.Data.IDataReader
- options OfficeIMO.Excel.ExcelTabularWriteOptions = null
- ct System.Threading.CancellationToken = null
public static IReadOnlyList<ExcelDataSetImportResult> WriteDataSet(Stream stream, DataSet dataSet, ExcelTableStyle tableStyle = TableStyleMedium2, Boolean includeHeaders = true, Boolean includeAutoFilter = true, CancellationToken ct = null, ExcelDateSystem dateSystem = NineteenHundred) #IReadOnlyList<ExcelDataSetImportResult>Writes a DataSet directly to an XLSX package, using one worksheet and one Excel table per DataTable. This path is intended for export workloads where the caller does not need to keep editing the workbook object.
Parameters
- stream System.IO.Stream
- dataSet System.Data.DataSet
- tableStyle OfficeIMO.Excel.ExcelTableStyle = TableStyleMedium2
- includeHeaders System.Boolean = true
- includeAutoFilter System.Boolean = true
- ct System.Threading.CancellationToken = null
- dateSystem OfficeIMO.Excel.ExcelDateSystem = NineteenHundred
public static async Task<ExcelDataSetImportResult> WriteRowsAsync<T>(Stream stream, IAsyncEnumerable<T> items, IReadOnlyList<String> headers, Action<ExcelTabularRowWriter, T> writeRow, ExcelTabularWriteOptions options = null, CancellationToken ct = null) #Task<ExcelDataSetImportResult>Writes an asynchronous sequence of strongly typed rows directly into an XLSX package. Rows are awaited and written one at a time without buffering the source sequence.
Type Parameters
- T
Parameters
- stream System.IO.Stream
- items System.Collections.Generic.IAsyncEnumerable{``0}
- headers System.Collections.Generic.IReadOnlyList{System.String}
- writeRow System.Action{OfficeIMO.Excel.ExcelDocument.ExcelTabularRowWriter,``0}
- options OfficeIMO.Excel.ExcelTabularWriteOptions = null
- ct System.Threading.CancellationToken = null
public static ExcelDataSetImportResult WriteRows<T>(Stream stream, IEnumerable<T> items, IReadOnlyList<String> headers, Action<ExcelTabularRowWriter, T> writeRow, ExcelTabularWriteOptions options = null, CancellationToken ct = null) #ExcelDataSetImportResultWrites strongly typed rows directly into an XLSX package through a row writer. Sources are consumed once while worksheet XML is written unless table creation requires the final row range before package output begins.
Type Parameters
- T
Parameters
- stream System.IO.Stream
- items System.Collections.Generic.IEnumerable{``0}
- headers System.Collections.Generic.IReadOnlyList{System.String}
- writeRow System.Action{OfficeIMO.Excel.ExcelDocument.ExcelTabularRowWriter,``0}
- options OfficeIMO.Excel.ExcelTabularWriteOptions = null
- ct System.Threading.CancellationToken = null
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public ExcelCalculationOptions Calculation { get; } #Formula calculation and cached-result policy used during save.
public Boolean IsWorkbookProtected { get; } #Returns true when workbook-level structure or window protection is present.
public Boolean SheetCachingEnabled { get; set; } #Enables caching of ExcelSheet wrappers for faster repeat access at the cost of higher memory usage. Set to false to avoid holding references to every sheet in very large workbooks.
public IEqualityComparer<String> TableNameComparer { get; set; } #Controls how workbook-level table name uniqueness is compared. Defaults to OrdinalIgnoreCase. Changing this will reset the internal cache and rebuild it on next use. Set it once before adding tables for predictable behavior.
public ExcelChartStylePreset DefaultChartStylePreset { get; set; } #Optional default chart style preset applied to charts created in this workbook.
public ExcelExecutionPolicy Execution { get; } #Execution policy for controlling parallel vs sequential operations.
public Func<DateTimeOffset, DateTime> DateTimeOffsetWriteStrategy { get; set; } #Controls how DateTimeOffset values are converted to DateTime before being written to worksheet cells. Defaults to LocalDateTime.
public IReadOnlyList<ExcelSheet> Sheets { get; } #Gets a list of worksheets contained in the document.
public SpreadsheetDocument OpenXmlDocument { get; } #Gets the underlying Open XML package for advanced integration scenarios.
public ExcelDateSystem DateSystem { get; set; } #Gets or sets the workbook date system used for serialized date values.
public String FilePath { get; set; } #Path to the file backing this document.
public ExcelBuiltinDocumentProperties BuiltinDocumentProperties { get; set; } #Built-in (core) document properties (Title, Creator, etc.).
public ExcelApplicationProperties ApplicationProperties { get; set; } #Extended (application) properties (Company, Manager, etc.).
public ExcelCustomDocumentPropertyCollection CustomDocumentProperties { get; } #Custom workbook properties keyed by property name.
public FileAccess FileOpenAccess { get; } #FileOpenAccess of the document
public DocumentAccessMode AccessMode { get; } #Gets whether the workbook was loaded for reading or editing.
public DocumentPersistenceMode PersistenceMode { get; } #Gets the persistence policy selected when the workbook was created or loaded.
public Boolean DocumentIsValid { get; } #Indicates whether the document is valid.
public List<OfficeOpenXmlValidationError> DocumentValidationErrors { get; } #Gets the list of validation errors for the document.
public Boolean UsesFileBackedPackage { get; } #True when the editable Open XML package is staged in a bounded temporary file instead of a byte array.
public ExcelSheet this[String sheetName] { get; } #Gets a worksheet by name (case-insensitive).
Parameters
- arg1 System.String
public ExcelSheet this[Int32 sheetIndex] { get; } #Gets a worksheet by 0-based index in workbook order.
Parameters
- arg1 System.Int32
public ExcelFileFormat SourceFormat { get; set; } #Gets the detected physical format of the workbook source.
public OfficeFormatDescriptor SourceFormatDescriptor { get; } #Gets the concrete source format, including modern template, add-in, macro, and XLSB variants.
public String SourcePath { get; } #Gets the original legacy source path, or the current Open XML file association.
public IReadOnlyList<XlsbImportDiagnostic> XlsbImportDiagnostics { get; } #Gets diagnostics produced while importing an XLSB source.
public IReadOnlyList<XlsbPreservedRecordInfo> XlsbPreservedRecords { get; } #Gets BIFF12 records retained from the XLSB source but not projected into the normal workbook model.
public IReadOnlyList<LegacyXlsImportDiagnostic> LegacyXlsImportDiagnostics { get; } #Gets diagnostics produced while importing a legacy binary XLS source through normal loading.
public IReadOnlyList<LegacyXlsUnsupportedFeature> LegacyXlsUnsupportedFeatures { get; } #Gets unsupported or preserve-only legacy XLS features discovered during normal loading.
public IReadOnlyList<LegacyXlsPreservedFeatureRecord> LegacyXlsPreservedFeatures { get; } #Gets preserve-only BIFF feature records that were not projected into the normal workbook model.
public IReadOnlyList<LegacyXlsUnsupportedSheet> LegacyXlsUnsupportedSheets { get; } #Gets legacy XLS sheet entries that were discovered but not projected as normal worksheets.
public IReadOnlyList<LegacyXlsChartSheet> LegacyXlsChartSheets { get; } #Gets legacy XLS chart sheets decoded during import and projected as chart-sheet package parts.
public IReadOnlyList<LegacyXlsCompoundFeatureRecord> LegacyXlsCompoundFeatures { get; } #Gets legacy XLS compound-container features decoded during import but not projected into the normal workbook package.
public Boolean HasMacros { get; } #Indicates whether the workbook contains a VBA project.
Fields
public const Int32 MaximumDefinedNameLength #Maximum length supported by an Excel workbook defined name.
255Extension Methods
public static ExcelSheet GetOrCreateSheet(ExcelDocument document, String name, ExcelSheetNameValidationMode validationMode) #ExcelSheetReturns the named sheet if it exists, otherwise creates it; falls back to the last sheet.
Parameters
- document OfficeIMO.Excel.ExcelDocument
- name System.String
- validationMode OfficeIMO.Excel.ExcelSheetNameValidationMode