[]
Represents a message in a conversation with an AI model.
Represents a request to an AI model.
Represents the result of an AI model request.
Represents the base type for an asynchronous custom function.
Extend this class and override EvaluateAsync(object[], ICalcContext) to provide the calculation logic. After the function is registered, formulas can call the function and return the result.
Parameters cannot accept cell or range references. Use calculated values as arguments instead, and do not access workbook model objects inside the asynchronous logic because it may run on another thread.
Represents the base class for all cell type classes.
Cell types define the type of information displayed in a cell and its behavior. They can be assigned to a cell, a range of cells, a row, a column, or an entire worksheet via CellType. Cell types are preserved in SpreadJS JSON I/O but are not supported in Excel file formats (.xlsx).
Represents a button cell type.
Used to display a button in a cell. Supports customizing the button text, background color, and margins relative to the cell edges. Can be applied to a single cell, a range, a row, a column, or an entire worksheet via CellType or CellType.
Represents an area in a spreadsheet.
A CalcReference encapsulates one or more worksheet ranges that are
used as a calculation reference. You can use this class to inspect whether the
reference spans multiple areas, refers to another workbook, or represents a
3D reference, and to retrieve the referenced IRange objects or their
values.
Represents a sort field that sorts data by cell fill.
This class implements ICellColorSortField and is used to define a sort criterion based on cell fill. Add it to the worksheet's sort fields via Add(ISortField) and then apply the sort.
Represents a cell decoration.
A cell decoration can include a corner fold and/or icons to visually annotate cells. Use this class with Decoration to apply decorations to a cell or range of cells. This is a SpreadJS-specific feature, supported for export to .sjs and .ssjson formats.
Represents a cell decoration icon.
Use this class to create an icon that can be added to a cell's decoration via CellDecoration. The icon is defined by a source string (typically a data URI for an SVG or image), dimensions in pixels, and a position relative to the cell specified by IconPosition.
Provides helper functions for converting between cell addresses and row/column indices.
This utility class offers static methods to convert row indices to names, column indices to names, cell indices to addresses, and vice versa. It also supports retrieving the pixel boundary of a given range.
Represents the cell padding for a range.
Provides padding values (left, right, top, bottom) for cells. Can be created with uniform padding on all sides or with individual values for each side. This class is used with SpreadJS JSON I/O and PDF export.
Represents a picture embedded in a cell (Picture-In-Cell).
Represents a checkbox cell type.
A checkbox cell type displays a checkbox control in a cell. It supports configurable caption text, text labels for true/false/indeterminate states, text alignment relative to the checkbox, and optional three-state mode. Assign it to a cell or range via CellType. Cell types are preserved in SpreadJS JSON I/O but are not supported in Excel file formats (.xlsx).
Represents a checkbox list cell type.
A checkbox list cell type allows users to select multiple items from a list of checkboxes within a single cell. You can configure the layout direction, text alignment, spacing, and the number of rows and columns for the list. Use SelectFieldItem to define the items in the list.
Provides utility methods for working with colors.
This class converts color strings into Color objects that can be used in workbook APIs such as cell fill and border formatting. Use StringToColor(string) to create colors from standard color names, RGB and RGBA expressions, and hexadecimal color strings.
Represents a combo box item.
Each item has a Value value and a Text text. The text is displayed in the combo box dropdown, while the value is stored in the underlying data model. Items are added to a ComboBoxCellType via Items.
Represents an editable combo box cell.
A combo box cell type displays a drop-down list of items that users can select from. Items are added via ComboBoxCellItem objects. The combo box can be configured as editable or read-only, and the value written to the data model can be controlled via EditorValueType.
Represents corner fold decoration settings that can be applied to a cell.
A corner fold defines the fold color, the corners where the fold is shown, and its size.
Represents options for opening a CSV file.
Use this class to configure how CSV content is interpreted when it is opened, including column, row, and cell separators, encoding, numeric and date conversion, formula recognition, parsed-value styling, and a custom ICsvParser.
Represents the context for parsing the current CSV cell.
The context provides the zero-based row and column indexes of the CSV cell being parsed, together with the original cell text before the custom parser changes the parsed result.
Represents the parsed CSV value and its number format.
A custom ICsvParser can inspect or modify this result to preserve leading zeros, convert text to another supported value, or assign a number format for the imported cell.
Represents options for saving a workbook as a CSV file.
Use this class to configure CSV export settings such as column, row, and cell separators, text encoding, value quoting, and whether leading blank rows and columns are trimmed.
Represents custom border rendering options for PDF export.
Use this class with BorderOptions to override the width and dash pattern applied to a specific BorderLineStyle when a workbook is exported to PDF. Configure the border width with BorderWidth and define dashed segments with Dashes.
Represents the base type for a custom function.
Derive from this abstract class to define spreadsheet functions that behave like built-in
formula functions. A custom function supplies its function name, return type, and
optional parameter metadata through one of the CustomFunction constructors, and must
implement Evaluate(object[], ICalcContext) to calculate the result.
After a derived function is created, register it by using AddCustomFunction(CustomFunction, bool) before using it in formulas.
Custom functions can be configured to participate in calculation caching and error
propagation. Use IsVolatile to control whether repeated calls with the
same arguments can reuse cached results, and use AcceptErrors to control
whether error values such as #N/A or #VALUE! are passed to the function for
handling. By default, custom functions are not volatile and do not accept error arguments.
This type is the synchronous custom-function base class. For asynchronous evaluation scenarios, use AsyncCustomFunction.
Represents options that control how data is imported into a range.
Use this class with ImportData(DataTable, DataImportOptions) to configure behaviors such as how insufficient space is handled, whether column headers are included, which columns are imported, and how the item type is resolved for auto-generated columns.
Contains information about an imported range.
A DataImportResult is returned by ImportData(IEnumerable, DataImportOptions)
and ImportData(DataTable, DataImportOptions). It describes the size
of the imported data at the target location, including how many rows and columns were
imported.
Represents a JSON import error related to data validation.
Use this class to inspect details about a data validation entry that could not be processed during JSON import, such as the worksheet that contains the error, the affected range, and the validation content that caused the error. Instances of this class can appear in the list returned by Workbook.FromJson(string).
Internal use only. This API might be deleted in future releases.
Moved to GrapeCity.Documents.Excel.TestHelper.DateTimeConverter.
Represents options that control how workbook or worksheet content is deserialized from JSON.
Use this class to configure JSON loading behavior for APIs such as FromJson(string, DeserializationOptions) and Open(string, DeserializationOptions). You can use these options to ignore styles, ignore formulas, or prevent recalculation after the JSON data is loaded.
Represents the document properties of a PDF document.
Use this class to define PDF metadata such as the title, author, subject, keywords, creator, producer, creation date, modification date, and the PDF version to use when generating the document. Assign an instance to DocumentProperties to apply these properties during PDF export.
Wraps the optional parameters used by range search operations.
Use this class to configure how Find(object, IRange, FindOptions) and Find(object, IRange, FindOptions) search a range, including where to search, how to match content, the search order and direction, case sensitivity, byte matching, and an optional display format filter.
Represents a sort field that sorts data by font color.
Use this class to define a sort condition that compares the font color in a key range instead of the cell value. Add the created sort field to a worksheet sort to move rows or columns with the specified font color to the top or bottom, depending on the SortOrder.
Represents a formula-related error in imported JSON content.
This class extends JsonError and stores the worksheet name, row index, column index, and formula text associated with a formula that could not be processed. It is typically used to describe formula errors reported while loading workbook data from JSON.
Represents options for saving a workbook as an HTML file.
Use this class to configure HTML export settings such as CSS export behavior, image embedding, sheet and heading output, encoding, tooltip generation, and other HTML-specific save behaviors.
Represents a hyperlink cell type.
Used to display a clickable hyperlink in a cell. Supports configuring link color, visited link color, display text, tooltip, and target type. Apply it to a range via CellType.
Represents a sort field that sorts data by a specified conditional-formatting icon.
Use this class to add an icon-based sort condition to a worksheet or table sort. The sort key identifies the cells whose displayed icons are evaluated, and the target IIcon specifies which icon is sorted according to the given SortOrder.
Represents options for exporting a worksheet, range, or shape to an image file.
Use this class to control image export settings such as scale, resolution, background color, gridline display, row and column headings, drawing objects, black-and-white output, and whether automatically merged cells are included.
Represents an image source.
An ImageSource stores image data together with its ImageType so it can be supplied to APIs that accept image content. Use Stream to retrieve the image data as a stream and Type to retrieve the image format.
The exception that is thrown when a formula is invalid.
The exception that is thrown when a template is invalid.
The json datasource for the template.
Represents the base type for JSON-related errors.
This abstract class provides the common error message information shared by JSON error objects. Concrete subclasses expose additional context for specific JSON processing problems, such as formula errors or data validation errors.
Use this type as a general reference when working with APIs that report JSON import or serialization issues, and use ErrorMessage to retrieve the descriptive error text.
Provides obsolete license registration APIs for Documents for Excel.
This class is obsolete. Use SetLicenseKey(string) instead.
Represents the watermark margin in pixels relative to a cell.
Use this class to define the top, right, bottom, and left margins applied to a watermark in a range through Margin. You can create a margin with the same value on all sides or specify each side separately.
Represents an exception thrown when a range number format cannot be parsed.
Represents options for opening a workbook.
Use this class to control how workbook data is loaded when using open overloads that accept OpenOptions.
Base class for workbook open options.
This abstract class defines the common contract for option objects passed to
workbook open APIs. Concrete subclasses represent format-specific settings for
opening different workbook sources, such as CSV, XLSX, XLSM, XLTX, or SpreadJS
.sjs content.
Each subclass assigns its associated OpenFileFormat through this property and can expose additional settings for its target format. Use FileFormat to inspect the format associated with a concrete options instance.
Represents the printable content area of a page.
A PageContentInfo object describes which worksheet range is printed on a page,
along with page content settings such as title rows, tail rows, title columns, tail columns,
row headers, column headers, and zoom factor. It is commonly used when customizing page output
for printing or PDF export, and can also be obtained from PageContent.
Represents information about a printed page.
A PageInfo object stores the page metadata used during pagination and
printing, including the page number, total page count, page content, and page
settings. It is typically produced or consumed by PrintManager when
working with paginated worksheet content.
Provides data for the PagePrinting and PagePrinted events.
This event data class supplies page-related information for print processing, including the 1-based page number of the current page and the total page count.
Provides data for the PagePrinted event.
Use this event data to inspect page information after a page has been printed and to request whether additional pages should continue to print.
Provides data for the PagePrinting event.
Use this event data class to inspect the page being processed and determine whether the current page should be skipped from the output through SkipThisPage.
Represents page-level print settings.
A PageSettings object stores the page layout information used for printing
or page-based export, including paper size, margins, header and footer content,
page centering, gridline printing, draft mode, black-and-white printing, and
print error display options.
Margin and paper size values are expressed in points.
Represents a parameter definition for a custom function.
A Parameter describes the metadata for one function argument, including its
name, description, FunctionValueType, default value, and whether
the argument can accept references or custom objects. Use this class when defining
parameters for CustomFunction or AsyncCustomFunction instances.
Represents options that control how a copied range is pasted.
Use this class with Copy(IRange, PasteOption) to specify whether hidden cells are included in the paste operation and which PasteType values are pasted. A new instance allows pasting hidden ranges by default, and its default paste type includes formulas and formats.
Represents options for saving a workbook to PDF.
Use this class to configure PDF-specific export behavior, such as shrink-to-fit handling for wrapped text, document properties, security settings, form field export, background image printing, transparent cell rendering, open-action JavaScript, and whether automatically merged cells are included.
Represents PDF security settings.
Use this class to specify passwords and permissions for a PDF document, such as whether the document can be printed, modified, annotated, or have its content extracted. These settings can be applied through SecurityOptions when saving a workbook to PDF.
Use high-entropy, unique passwords from secure configuration or a key management service. Do not hard-code PDF passwords in application code.
Represents the settings used to create a custom group from PivotItems in a PivotField.
Use this class to configure the item names, optional group name, and whether generated group fields are automatically added to the PivotTable layout by Group(PivotFieldCustomGroupOptions).
Represents the settings used to group a PivotField by date or time units.
Use this class to configure the date range and the date or time units used by Group(PivotFieldDateGroupOptions). By default, the group range is determined from the PivotCache and the field is grouped by Months.
Represents the settings used to group a PivotField into numeric ranges.
Use this class to configure the numeric range and interval used by Group(PivotFieldNumberGroupOptions). By default, the group range is determined from the PivotCache and the interval is 1.
Represents optional settings for a pivot filter.
Use this class to provide additional configuration when adding a pivot filter with Add(PivotFilterType, object, object, PivotFilterOptions). It contains settings used by value filters, date filters, and Top 10 filters, such as the filter name, description, referenced data field, whole-day date matching, and top-or-bottom selection behavior.
Represents a print manager for pagination and PDF print output.
Use this class to generate PageInfo objects for a workbook or worksheet, adjust pagination results, and save the resulting pages to PDF. It is the entry point for custom pagination workflows such as controlling page breaks, keeping content together, and combining content from one or more workbooks into a single PDF output.
Contains options for printing.
Represents a radio button list cell type.
A radio button list cell type allows users to select one item from a list of radio buttons within a single cell. You can configure the layout direction, text alignment, spacing, and the number of rows and columns for the list. Use SelectFieldItem to define the items in the list.
Represents event arguments that contain an IRange object.
RangeEventArgs is used with worksheet-level events such as Changed and SelectionChange, providing access to the range associated with the event.
Provides a range template from a referenced worksheet that can be applied to a cell.
The range template cell type renders the cell with the same layout and styles as the template range, while filling data independently. If rowCount or columnCount is less than or equal to 0, the worksheet's used range is used as the template scope.
This cell type is useful when you want to display data in a consistent structure across multiple cells without repeatedly configuring the same styles. Data can be loaded into the range template from a data source using binding paths.
Represents the repeat settings of a range.
Use this class to associate an IRange with title or tail rows and columns that can be repeated when the range is processed for pagination.
Wraps the optional parameters used by Replace(object, object, ReplaceOptions).
Use this class to configure how content is matched and replaced in a range, including whether the search matches the whole cell content or part of it, the search order, case sensitivity, double-byte matching, and optional search and replacement formats. This wrapper keeps the replace API consistent when optional settings are provided.
Represents options for saving a workbook.
Use this class to configure workbook export behavior such as compact mode and formula handling when calling legacy save overloads.
Base class for save options used by workbook and worksheet save operations.
This abstract class stores the target SaveFileFormat for a save operation and defines the common contract shared by format-specific save option types. Pass a concrete subclass to save APIs such as Save(string, SaveOptionsBase) or Save(string, SaveOptionsBase) to control how content is written for a particular output format.
Derived classes initialize the file format through this property and expose additional settings for their corresponding formats, such as CSV, HTML, PDF, SJS, or XLSX-based output.
Represents an item in a CheckBoxListCellType or RadioButtonListCellType.
A SelectFieldItem stores the display text shown to the user and the
underlying value associated with that option.
Represents options used when serializing a workbook or worksheet to JSON.
Use this class to control which content is included in the generated JSON, such as styles, formulas, sheets, shared formulas, binding sources, and automatically merged cells. These options apply when calling ToJson(SerializationOptions) or ToJson(SerializationOptions).
Represents EventArgs which contain a Worksheet object;
Use this class to access the IWorksheet involved in workbook sheet events, such as sheet creation, activation, or deletion.
Provides additional signature metadata for signing operations.
Use this class to supply the details passed to Sign(X509Certificate2, string, SignatureDetails), Sign(X509Certificate2, Stream, SignatureDetails), or Sign(X509Certificate2, SignatureDetails).
Mirrors the Java SignatureDetails class. This class is used when calling sign
methods to pass signing metadata, and represents the SignatureInfoV1, SignatureInfoV2, and
XAdES data written with the signature.
Represents options for opening a SpreadJS .sjs file.
Use this class with workbook open APIs when loading an .sjs file.
A new SjsOpenOptions instance sets the file format to
Sjs. By default, styles and formulas are included
when the file is loaded.
Represents options for saving a workbook as a SpreadJS .sjs file.
Use this class to control which workbook content is included when exporting to .sjs,
such as styles, formulas, unused names, empty cells outside the used range, binding
sources, automatically merged cells, and data outside the defined row and column counts.
Represents the abstract base class for sort fields.
This class provides the common implementation of ISortField for worksheet sorting. It encapsulates the shared sort metadata used by concrete sort field types, including the key range, the sort priority in a multi-key sort, and the criterion specified by SortOn.
Use one of its concrete subclasses when defining sort behavior for values, cell fill colors, font colors, or icons. Instances of this type are typically managed as part of a sort definition rather than instantiated directly.
Describes font and layout options for drawing text.
Use this class to supply text formatting information such as font family, font size, bold, and italic settings when custom graphics logic needs to measure or render text. It is used by APIs such as GetDigitWidth(TextFormatInfo).
Contains the theme information.
A Theme describes a workbook theme, including its name, whether it is built in, and the associated IThemeColorScheme and IThemeFontScheme.
Represents a theme manager.
Use this class to access themes by name and to create custom themes that can
be applied to a workbook. A Themes instance can retrieve built-in themes
and custom themes added to the manager.
Represents a sort field that sorts data by cell values.
Use this class to define value-based sorting in ascending order, descending order,
or by a custom value list. A ValueSortField also lets you control how text
values are treated during sorting through SortDataOption.
Represents viewer preferences to be used when displaying the document.
Represents the result of a web request, including the success status, the response content, any connection failure, and the HTTP status code.
Represents a workbook.
This class provides the workbook-level API for working with spreadsheets, including managing worksheets, accessing the active sheet, configuring workbook settings, handling workbook events, and performing operations such as calculation, opening, and saving.
A new workbook is initialized in memory and contains one empty worksheet named
Sheet1 in the Worksheets collection.
Represents options used when creating a Workbook.
Use this class to configure workbook-level behaviors at construction time, such as whether column widths are measured in pixels instead of character counts. Enabling pixel-based column width can make API behaviors such as auto-fit column, and rendering results such as PDF and image output, closer to SpreadJS.
Provides access to the workbook write protection options.
Use this class to configure how a workbook is protected from modification, including recommending that the workbook be opened as read-only, specifying the user who has write permission, and setting a password required to modify the file. The write-protection takes effect when the workbook is opened in an Excel application.
Instances of this class are typically obtained from WriteProtection.
Represents options for opening an XLSM workbook.
This class inherits the XLSX open-option settings provided by XlsxOpenOptions, such as password, import flags, recalculation behavior, row auto-fit behavior, and digital-signature-only mode, and uses Xlsm as the target format.
Represents options for saving a workbook as an XLSM file.
This class inherits the XLSX-related save settings provided by XlsxSaveOptions, such as password protection, formula handling, shared formula export, and excluding unused content, and uses Xlsm as the target format.
Represents options for opening an XLSX file.
Use this class to configure how a workbook is loaded through workbook open APIs that accept OpenOptionsBase. It supports settings such as the file password, import flags, recalculation behavior after loading, row auto-fit behavior, and digital-signature-only mode.
Represents options for saving a workbook as an .xlsx file.
Use this class to control how workbook content is exported to the XLSX format. It supports settings for password protection, shared formula export, compact mode, formula handling, binding source export, auto-merged cells, and excluding unused styles, names, or empty region cells to reduce file size.
Represents options for opening an XLTX template file.
This class inherits the available XLSX open-option settings from XlsxOpenOptions, such as password, import flags, recalculation behavior, auto-fit behavior, and digital signature behavior, and uses Xltx as the target format.
Represents options for saving a workbook as an XLTX template file.
This class inherits the XLSX-related save settings provided by XlsxSaveOptions and uses Xltx as the target format when workbook content is saved as an Excel template.
A struct that contains info of fonts that are used by workbook.
Provides an abstraction for sending asynchronous requests to AI models and receiving structured AIModelResponse objects. Implementations are responsible for handling communication with AI providers.
Represents a conditional formatting rule that evaluates cell values by comparing them with the range average or a standard deviation threshold.
Use this interface to configure a rule that matches values above average, below average, equal to or above average, equal to or below average, above the standard deviation, or below the standard deviation.
Represents a collection of range areas. Each area represents a single contiguous range of one or more cells.
Represents the author of a threaded comment.
An IAuthor object stores the user name associated with a threaded comment.
You can obtain this interface from Author and use it to read
or update the author name.
Represents autofiltering for the specified worksheet.
Provides access to the worksheet's AutoFilter state, including the filtered IRange, the IFilters collection for the autofiltered range, and the associated ISort settings. Use this interface to inspect or update an existing worksheet AutoFilter after it has been created.
Represents the auto merge range information.
Represents the common contract for all barcode types.
All barcode types inherit this interface. It provides the shared barcode information, including the encoded value, barcode color, background color, barcode type, and quiet-zone sizes.
Represents the border of an object.
An IBorder defines the formatting for a single border, including its
color, line style, theme color, and tint or shade. Instances are typically obtained
from an IBorders collection, such as the borders returned by
Borders or Borders.
Represents a collection of border objects for a range or style.
Use this interface to apply common border settings, such as line style and color, to the outer and inside borders of the collection. Use this[BordersIndex] to access a specific edge, inside, or diagonal border.
A collection of built-in document properties.
Provides access to standard workbook metadata such as author, title, subject, company, manager, application name, and other predefined document properties. Use BuiltInDocumentProperties to retrieve this collection and read or update built-in properties exposed by the workbook.
Represents the context of the calculation.
Provides information about the cell currently being calculated, including its containing worksheet, row index, and column index. This interface is typically used in custom function evaluation logic to determine where the calculation is occurring.
A collection of IPivotField objects that represents all the calculated fields in the specified PivotTable report.
Use this collection to access, add, and remove calculated fields for a PivotTable. Each item in the collection represents a calculated field defined in the PivotTable report.
A collection of IPivotItem objects that represent all the calculated items in the specified PivotTable report.
Use this interface to access, add, and remove calculated items for a pivot field. Obtain an instance from CalculatedItems().
Represents a cascade sparkLine.
A cascade sparkline exposes the data and display settings resolved from a
CASCADESPARKLINE formula, including point values, labels, point index,
bounds, item types, and colors.
Represents a sort field that sorts data by cell color.
Represents the cell control.
Represents a cell decoration.
Represents an icon in a cell decoration.
Represents the cell padding values for a range.
Represents a Codabar barcode.
Codabar is a barcode that uses the characters A, B, C, D, +, -, :, ., /, $, and digits. This interface provides access to Codabar-specific barcode settings in addition to the common barcode, font, and label options defined by IBarcode, IFontOption, and ILabelOption.
Represents a Code 128 barcode.
The Code 128 barcode is a linear barcode that represents high-density linear symbology to encode text, numbers, various functions and the entire 128 ASCII character set (from ASCII 0 to ASCII 127). It is widely used in enterprise internal management, production processes, and logistics control systems.
Instances of this interface are typically returned from a cell whose value is generated by the
BC_CODE128 formula. This interface also includes barcode, label, and font settings through
IBarcode, ILabelOption, and IFontOption.
Represents a Code 39 barcode.
Code 39 is a linear barcode that uses a total of nine bars to represent each symbol, including numeric characters, upper-case characters, and some special characters ("%","*","$","/",".","-","+"). This interface also provides barcode, font, and label options through IBarcode, IFontOption, and ILabelOption.
Represents a Code 49 barcode.
Code 49 is a two dimensional, high-density stacked barcode with two to eight rows, with each row containing eight characters. Each row has a start code and a stop code. This barcode is especially used to encode the complete ASCII character set.
This interface provides access to Code 49 barcode settings and inherited barcode, font, and label options.
Represents a Code 93 linear barcode.
Code 93 uses uppercase characters, numeric characters, and selected special characters, and provides barcode, font, and label options through IBarcode, IFontOption, and ILabelOption.
Represents a color scale conditional formatting rule.
A color scale rule applies a gradient of colors to cells to indicate relative differences in their values. Use this interface to access the range the rule applies to, configure its threshold criteria, and control its evaluation priority among other conditional formatting rules.
Represents a collection of IColorScaleCriterion objects that define all criteria for a color scale conditional format.
Each criterion specifies a threshold used by the color scale, such as the minimum, midpoint, or maximum value.
Represents the criteria for the minimum, midpoint, or maximum thresholds for a color scale conditional format.
An IColorScaleCriterion defines one threshold in a color scale rule, including how the threshold value is determined and which color is assigned to that threshold. Use it through ColorScaleCriteria to inspect or customize the criteria in a two-color or three-color scale.
Represents a gradient stop in a gradient fill for a range or selection.
Use this interface to read or change the color, theme color, tint/shade, and position of a single gradient stop in a linear or rectangular gradient. The position is a value from 0.0 to 1.0, where 0.0 represents the start of the gradient and 1.0 represents the end.
Represents a collection of IColorStop objects for a linear or rectangular gradient fill.
Use this interface to access, add, clear, or iterate gradient stops in a cell or range gradient fill. You can get this collection from ColorStops or ColorStops.
Represents a cell comment.
An IComment is attached to a worksheet cell and provides access to the comment content, author, anchor cell, visibility, and the underlying shape used to display the comment.
Represents a cell's threaded comment. This object can represent both a top-level comment or its replies.
Use this interface to read or modify threaded comment content, navigate between parent and reply comments, and work with the replies associated with a top-level comment. A threaded comment is typically created from a cell by calling AddCommentThreaded(string, string) and can also be accessed from the worksheet's ICommentsThreaded collection.
Represents a collection of cell comments.
Each comment in the collection is represented by an IComment object. Use this interface to access and enumerate the comments in a worksheet.
A collection of top-level threaded comment objects in a worksheet, or a collection of replies in a single threaded comment.
Each comment is represented by an ICommentThreaded object. Use CommentsThreaded to access all threaded comments in a worksheet, or Replies to access the replies of a specific threaded comment.
Represents how the shortest bar or longest bar is evaluated for a data bar conditional formatting rule.
An IConditionValue object defines the threshold type and threshold value used by a conditional formatting rule. It is typically used with data bars to describe how the minimum or maximum point is determined.
Indicates the corner fold of cell decoration.
An ICornerFold describes the visual fold shown at one or more
corners of a decorated cell, including its color, position, and size in
pixels. Use it with CellDecoration and
Decoration to apply corner fold
decoration to a cell or range.
Represents a custom CSV parser.
Assign an implementation to the Parser property of CsvOpenOptions to inspect
each parsed CSV cell and optionally modify the parsed value or number format.
A collection of custom document properties.
Represents the custom metadata stored in a workbook. Use this collection to add, remove, and access application-defined document properties such as text, numeric, Boolean, date, and linked-content properties.
Represents a custom workbook view.
An ICustomView records the workbook view state captured when the custom view was created. The Name property identifies the custom view. RowColSettings indicates whether hidden rows and columns and filter information are included, and PrintSettings indicates whether print settings are included. Custom views can be created from CustomViews, applied with Show(), and removed with Delete().
A collection of custom workbook views.
This interface represents the collection returned by CustomViews. Each item in the collection is an ICustomView that stores a workbook custom view and can be retrieved by name, added to the workbook, or iterated in sequence.
Represents a Custom XML part in a workbook.
A Custom XML part stores an arbitrary XML payload as raw bytes in the workbook package. The part is identified by a generated ID that is persisted with the workbook and can be used to retrieve the part after reopening the file.
Represents a collection of Custom XML parts in a workbook.
Use this collection to add, retrieve, enumerate, or remove workbook-level Custom XML parts. Each part has a generated ID and a raw XML payload. The collection is persisted when the workbook is saved to an OpenXML workbook format such as XLSX or XLSM.
Represents a data bar conditional formatting rule.
Applying a data bar to a range helps visualize each cell value relative to the other values in the same range. Use this interface to configure the appearance and behavior of a data bar rule, such as its fill, color, axis, direction, and value display.
Represents the border of the data bars specified by a conditional formatting rule.
An IDataBarBorder object is used to configure whether a data bar shows
a border and, if so, the border color and border type. Use
BarBorder to obtain this interface from a data bar
conditional formatting rule.
Represents a DataMatrix barcode value returned from a worksheet cell.
DataMatrix barcode is a high-density, two-dimensional barcode with square modules typically arranged in a square or rectangular matrix pattern. In addition to the common barcode properties defined by IBarcode, this interface provides access to DataMatrix-specific settings such as the ECC mode, symbol size, encoding mode, and structured append information.
Represents the options related to data import and data analysis.
This interface provides data-related workbook settings, such as whether Date/Time columns are grouped automatically in PivotTables.
Represents the display settings for an associated IRange.
Actions such as changing the conditional formatting or table style of a range can cause what is displayed in the current user interface to be inconsistent with the values in the corresponding properties of the IRange object. Use the properties of this interface to return the values as they are displayed in the current user interface.
Represents a custom or built-in document property.
An IDocumentProperty exposes workbook metadata such as the property
name, value, type, and whether a custom property is linked to worksheet content.
Custom properties can be created directly or linked to a named range so the
property value reflects the referenced cell content.
Represents a collection of document properties.
This interface provides access to built-in and custom document properties in a workbook. Use it to retrieve properties by name or index, check whether a property exists, get the number of properties, or remove properties from the collection.
Represents an EAN-13 barcode.
EAN-13 barcode consists of 12 numeric digits and one check digit. This interface provides access to barcode-specific options such as the add-on text and its label position, together with the common barcode, font, and label settings defined by IBarcode, IFontOption, and ILabelOption.
In the example below, cell A1 stores the 12-digit EAN-13 primary code, and "12"
passed to the formula is the separate add-on text.
Represents an EAN-8 barcode.
EAN-8 barcode consists of seven numeric digits and one check digit. This barcode accepts a string of seven digits, calculates the check digit, and appends it as the eighth digit.
This interface provides the barcode value together with inherited font, barcode, and label options.
Represents options for processing Excel workbooks.
This interface provides access to workbook-level settings that control Excel behavior, such as formula-related options and data-related options.
Represents a filter for a single column.
The IFilter object is a member of the IFilters collection. The IFilters collection contains all the filters in an autofiltered range.
Represents a collection of IFilter objects that represent all filters in an autofiltered range.
You can obtain this collection from Filters to inspect the filters that belong to the current autofilter range.
Represents font formatting for a range, style, or text run.
Use this interface to get or set font properties such as name, size, bold, italic, underline, strikethrough, font color, theme color, theme font, and subscript or superscript formatting.
Represents the sort field by font color.
This ISortField implementation defines a sort condition based on the displayed font color of cells. It also uses SortOrder to specify where matching font colors are placed in the sorted range.
Represents font options for barcode label text.
This interface defines the font-related options exposed by barcode objects that support label text, including font family, style, weight, text decoration, alignment, and size. It is typically used together with IBarcode and ILabelOption on barcode values returned by barcode formulas.
Represents a format color item, such as a color scale threshold color, a data bar color, a data bar axis color, a negative data bar fill color or border color, or a sparkline color.
Use this interface to read or modify format colors exposed by APIs such as AxisColor, BarColor, Color, BorderColor, FormatColor, SeriesColor, and Color. It also provides access to palette-based, theme-based, and tint-adjusted settings for that format color item.
Represents a conditional format.
An IFormatCondition defines a conditional formatting rule for a worksheet range,
including the rule type, the range to which the rule applies, and the formatting to use
when the rule condition is met.
Represents the conditional formats associated with a range.
This collection provides access to the conditional formatting rules that apply to a range. Use it to inspect existing rules or add new rules such as cell value, expression, color scale, data bar, icon set, top 10, and above-average conditions.
Represents the options related to formula calculation, performance, and error handling.
Use this interface to configure workbook-level formula behavior, such as iterative calculation and its related limits. Obtain an instance from Formulas.
Provides custom name resolution for formulas.
Represents a GS1-128 barcode.
GS1-128 is a barcode that uses a series of application identifiers to encode data. This barcode makes use of the complete ASCII character set while also using the FNC1 character in the first character position.
This interface extends IBarcode, ILabelOption, and IFontOption to provide barcode content, label, and font-related options for a GS1-128 barcode.
Represents the picture field included in the specified header or footer.
Provides graphics measurement information required for workbook layout calculations.
Implement this interface when you need to provide custom text measurement information for workbook layout calculations.
Represents information about a worksheet outline group.
An IGroupInfo object describes a grouped row or column range in a worksheet outline.
After obtaining a group from RowGroupInfo or ColumnGroupInfo,
use it to inspect the group's boundaries and hierarchy, or to expand and collapse the group.
Represents a horizontal page break.
Use HPageBreaks to add or access horizontal page breaks within the print area. The break location is defined by an IRange; horizontal page breaks are aligned with the top edge of that range.
Represents the collection of horizontal page breaks within the print area.
Use this collection to enumerate existing horizontal page breaks, retrieve a page break by index, or add a new break above a specified range. Obtain an instance from HPageBreaks.
Represents one section of a page header or footer that can contain text or a picture.
Represents a hyperlink.
An IHyperlink stores the link target and related display information for
a hyperlink attached to a worksheet range or a shape. Use this interface to inspect
or modify the hyperlink address, subaddress, screen tip, email subject, and display text.
Represents the collection of hyperlinks for a worksheet, range, or shape.
Each hyperlink in the collection is represented by an IHyperlink object. Use this interface to add, access, iterate, or delete hyperlinks that are attached to a worksheet, a cell, a range, or a shape.
Represents a single icon in an icon set used in a conditional formatting rule.
An IIcon identifies one icon contained in an IIconSet. Use this interface to work with a specific icon in a built-in icon set, such as retrieving its position with Index or accessing its parent icon set with Parent.
Represents the collection of IIconCriterion objects.
Each IIconCriterion represents the values and threshold type for an icon in an icon set conditional formatting rule.
Represents the criterion for an individual icon in an icon set.
The criterion specifies the range of values and the threshold type associated
with the icon in an icon set conditional formatting rule. Each
IIconCriterion defines the threshold settings for one icon, including
its icon, comparison operator, threshold type, threshold value, and position
within the icon set.
Represents a single set of icons that are used in an icon set conditional formatting rule.
Represents an icon set conditional formatting rule.
An IIconSetCondition applies icon-based conditional formatting to a range and
lets you configure the icon set, criteria thresholds, display order, and target range for
the rule.
Represents a collection of icon sets used in an icon set conditional formatting rule.
Represents the sort field by icon.
An IIconSortField defines an icon-based sort key for a range and
extends ISortField. Use this interface to specify both the
IIcon to sort by and the SortOrder applied to that icon
criterion.
Represents the interior of an object.
Provides access to the background color and fill pattern of a supported object, such as a cell or range. Use an IInterior instance to configure fill appearance by applying a Color and a Pattern.
Represents a serializer and deserializer for custom types used in JSON import and export.
Implement this interface to convert application-specific objects to JSON strings and to reconstruct those objects when a workbook is converted to or from JSON. This interface is typically used with TagJsonSerializer or ValueJsonSerializer.
Represents label display options for a barcode.
This interface is implemented by barcode objects that support human-readable labels. Use it to determine whether the label is displayed and where the label is positioned relative to the barcode.
Indicates the cell label options.
Use this interface to configure how a watermark label is displayed for a range, including its position, visibility, font, foreground color, and margin. You can access these options from LabelOptions and use LabelAlignment and LabelVisibility to control the label layout. SpreadJS only.
Represents the ILinearGradient object that transitions through a series of colors in a linear manner along a specific angle.
Use this interface to configure a linear gradient fill by defining its color stops and the angle of the gradient direction.
Represents a defined name for a range of cells.
A defined name lets you assign a meaningful identifier to a cell range, formula, or constant so that it can be reused more clearly in workbook or worksheet formulas. An IName object stores the name itself together with the formula it refers to.
Represents a collection of IName objects that store defined names.
Each IName object represents a defined name for a cell, cell range, formula, or constant. Names can be either built-in names, such as Database, Print_Area, and Auto_Open, or custom names created in workbook or worksheet scope.
Represents the color settings of the data bars for negative values that are defined by a data bar conditional formating rule.
Use this interface to configure how negative values are displayed in a data bar rule, including whether their fill and border use dedicated colors or the same colors as positive data bars.
Represents an outline on a worksheet.
An IOutline object provides access to worksheet outline settings such as
the locations of summary rows and summary columns, the visible outline levels,
and grouped row or column information.
Represents the outline column for a worksheet.
An outline column displays hierarchical row data in a tree view. Use OutlineColumn to access the outline column, then configure the column index, visibility options, and level settings for the hierarchy display.
Represents a PDF417 barcode.
PDF417 is a popular high-density, two-dimensional barcode symbology that can encode up to 1108 bytes of information. This barcode comprises a stacked set of small barcodes and can encode up to 35 alphanumeric characters and 2,710 numeric characters.
This interface exposes the PDF417-specific barcode settings and generated properties, such as the error correction level, row count, column count, and whether the barcode uses the compact PDF417 format.
Represents the header and footer sections for a specific page type.
Represents the page setup description.
Provides access to worksheet print and pagination settings, including paper size, orientation, margins, headers and footers, print area, repeated title rows and columns, page order, and scaling options used when printing or exporting a worksheet.
Use PageSetup to obtain the page setup for a worksheet and configure its printing behavior.
Represents a worksheet pane.
An IPane provides access to the scroll position and activation state
of a pane in a worksheet view. You can obtain an IPane from the active
pane by calling ActivePane, or from the pane collection
returned by Panes.
Represents the panes in a worksheet.
This interface provides access to the collection of IPane objects associated with a worksheet. Use Panes to retrieve the panes collection after freezing or splitting a worksheet view.
Represents the axis for a PivotTable report.
An IPivotAxis represents either the row axis or the column axis of a
IPivotTable. Use it to access the IPivotLines attached to that axis.
Represents the memory cache for a PivotTable report.
An IPivotCache stores the source data used by one or more PivotTable reports.
You can create a cache from a range or table through Create(object),
inspect its source data and refresh settings, and create a PivotTable from the cache by
calling CreatePivotTable(IRange, string) or CreatePivotTable(IRange, string).
Represents the collection of memory caches for PivotTable reports in a workbook.
An IPivotCaches collection provides access to all IPivotCache
objects in the workbook. Use this interface to retrieve an existing cache by index,
get the number of caches, or create a new cache from a worksheet range or table
before creating PivotTable reports.
Represents a cell in a PivotTable report.
Represents a field in a PivotTable report.
An IPivotField is a member of the IPivotFields collection and
describes how a source field is used in a PivotTable report, including hidden
fields. Use this interface to access field metadata, change field orientation,
configure sorting and filtering, and work with row, column, page, or data fields.
Represents the collection of IPivotField objects in a PivotTable report.
An IPivotFields collection contains all fields that belong to a PivotTable report,
including fields that are not currently visible in the layout. Use this interface to
enumerate fields or retrieve a field by index or by name.
Represents a pivot filter in the IPivotFilters collection.
An IPivotFilter describes a filter applied to a pivot field, such as
a caption, value, or date-based condition. You typically obtain an
IPivotFilter from PivotFilters after adding a
filter to a pivot field.
Represents a collection of all the pivot filters in a pivot field.
This interface provides access to the label, date, and value filters defined for a pivot field. Use it to add new filters, retrieve existing filters by index, and iterate through the current IPivotFilter objects.
Represents a custom formula in a PivotTable report.
An IPivotFormula describes a formula defined in a PivotTable report, such as a formula created by a calculated item, and exposes its name, formula text, and calculation order within the PivotTable report.
Represents the collection of custom formulas in a PivotTable.
An IPivotFormulas object is returned by PivotFormulas and provides access to the formulas defined for a PivotTable, such as formulas created by calculated items.
Represents an item in a PivotTable field.
An IPivotItem corresponds to a single item value in a IPivotField.
Use this interface to work with the item's name, source name, position, visibility,
expansion state, and calculated-item formula. Pivot items are obtained from the
IPivotItems collection of a pivot field.
Represents a collection of IPivotItem objects in a PivotTable field.
This interface provides access to the PivotTable items that belong to a field. Each item represents a distinct entry in the field and can be enumerated by using the inherited IEnumerable support. This interface is typically obtained from PivotItems.
Represents a collection of all IPivotItem objects in a PivotTable field.
Each item in the collection corresponds to an individual data entry in the field category. Use this interface to access pivot items returned by PivotItems, and then retrieve a specific item by index or name.
Represents a line of rows or columns in a PivotTable.
An IPivotLine belongs to a row or column axis and groups the
IPivotCell objects that make up a single logical line in the PivotTable.
Use this interface to inspect the line type, access the cells in the line, and
determine the line position within the axis.
Represents the collection of IPivotCell objects in a specific IPivotLine.
Represents a collection of lines on the row or column axis of a PivotTable report.
Each IPivotLine in this collection corresponds to a row or column line in the PivotTable report and contains a set of PivotCells. Use this interface to access the lines returned by PivotLines and to enumerate or retrieve individual pivot lines by position.
Represents a PivotTable report on a worksheet.
An IPivotTable is a member of the IPivotTables collection and
is used to summarize and analyze data from a IPivotCache on a worksheet.
Represents the collection of all IPivotTable objects on a specified worksheet.
Use this interface to access existing PivotTable reports on a worksheet or to add new ones
through Add(IPivotCache, IRange, string).
An IPivotTables instance is typically obtained from PivotTables.
Represents a PivotTable value cell and provides access to its value and related IPivotCell when an actual cell range is not available.
Represents the various types of protection options available for a worksheet.
Use this interface to configure which operations remain available on a protected worksheet, such as inserting or deleting rows and columns, filtering, sorting, or editing scenarios. The setting action will take effect only if the worksheet is under protection.
Represents a barcode object created by the BC_QRCODE formula.
This interface represents the QR Code symbology result returned by
BC_QRCODE. It extends IBarcode and exposes QRCode-specific
settings such as ErrorCorrectionLevel, model, version, mask
pattern, structured append connection, character code, and character set.
Represents cells, rows, columns, or cell ranges in a worksheet.
Provides access to IRange objects in a worksheet.
Represents read-only details of a digital signature.
Use this interface to read signature metadata returned by Details, including the signature image or text, certificate information, and the values shown in the Signature Details and Additional Information dialogs. This interface exposes the persisted signature data without allowing it to be modified.
Represents a rectangular gradient fill definition.
The IRectangularGradient object transitions through a series of colors within a rectangular gradient fill. Use this interface to configure the gradient convergence points at the left, top, right, and bottom edges and to manage the gradient IColorStops.
Represents rich text content in a cell.
An IRichText object contains a collection of ITextRun objects
that together define the text and character-level formatting for a cell. You can
obtain this interface from RichText and use it to append
formatted text runs or iterate through existing text runs.
A scenario is a group of input values (called changing cells) that's named and saved.
An IScenario represents a saved What-If analysis input set for a worksheet.
It stores a scenario name together with the changing cells and can be shown, updated,
hidden, locked, or deleted.
Represents the collection of IScenario objects in the worksheet.
This interface provides access to the worksheet's What-If analysis scenarios. Use Scenarios to obtain the collection, then add, retrieve, and iterate through saved scenarios for the worksheet.
Represents a sheet tab.
A sheet tab provides information about a worksheet tab in a workbook,
including its index, name, and SheetTabType. You can obtain an
ISheetTab instance from the sheet tab collection returned by
SheetTabs.
Represents a collection of all sheet tabs in a workbook.
Use this interface to access sheet tab information such as the tab count,
or to retrieve a specific tab by index or name. An ISheetTabs instance
is typically obtained from SheetTabs.
Represents the shrink to fit settings of this workbook.
Provides settings that control how wrapped text is reduced during PDF export so that the text can fit within the available cell area. Use ShrinkToFitSettings to access this interface and configure whether wrapped text can shrink to fit and the minimum font size to use.
Corresponds to a digital signature that is attached to a document.
An ISignature represents either a visible signature line in a worksheet
or a non-visible signature attached to a workbook. Use this interface to configure
signature line information, inspect signature details, validate whether a document
has been signed successfully, and remove or countersign an existing signature.
A collection of ISignature objects that correspond to the digital signatures attached to a document.
An ISignatureSet provides access to the signatures in a workbook,
including signature lines and non-visible signatures.
Represents the information used to set up a signature packet.
This interface provides the signer metadata and signing options for a signature line in a workbook, such as the suggested signer, signer email address, signing instructions, comment availability, and whether the sign date is displayed. It is typically obtained from a ISignature created for a worksheet signature line.
Represents a slicer in a Workbook.
A slicer is a visual filter control for a table or PivotTable. You can use an ISlicer
to display filter choices, apply slicer styles, and configure the slicer's layout and display
settings on a worksheet.
Represents the current filter state of a slicer cache and information about the data source associated with the slicer.
An ISlicerCache is created from a table or pivot table field and
provides access to the slicers and slicer items that use that cache.
Represents the collection of slicer caches associated with a workbook.
Use this collection to create, retrieve, and enumerate ISlicerCache objects that are based on workbook data sources such as tables.
Represents an item in a slicer.
An ISlicerItem corresponds to a single value in a slicer cache and
exposes its display value and selection state.
Represents a collection of ISlicerItem objects in an ISlicerCache.
This interface provides access to all items currently stored in a slicer cache and supports indexed access, name-based access, and iteration.
Represents the collection of IPivotTable objects associated with a specified ISlicerCache.
Use this collection to inspect, add, or remove PivotTable references controlled by the slicer cache.
Represents a collection of ISlicer objects.
An ISlicers object provides access to the slicers associated with a
ISlicerCache. Use it to create slicers, iterate through existing slicers,
or retrieve a slicer by index or name.
Represents sort settings.
Provides access to sort settings for a worksheet or table, including the target range, case-sensitivity, orientation, header handling, and the list of sort fields to apply. Use Range to define the cells to sort, configure fields through SortFields, and then call Apply() to perform the sort.
Represents a sort field.
A sort field defines one sort key within a collection of sort conditions. It specifies the range used as the sort key, the priority used in multi-field sorting, and the sort type represented by a specific subinterface such as value, cell color, font color, or icon sorting. Sort fields are typically managed through SortFields.
Represents the sort condition list.
Provides access to the ISortField entries used by an ISort operation. Use this interface to manage the sort fields that define how data is sorted when the sort is applied.
Represents the settings for the horizontal and vertical axes of a group of sparklines.
Use this interface to access the axis settings associated with a sparkline group, including the ISparkHorizontalAxis and ISparkVerticalAxis objects.
Represents color and visibility settings for a sparkline point marker or horizontal axis.
Use this interface to configure the color and visibility for sparkline point markers, such as positive, negative, first, last, highest, or lowest points, or for the horizontal axis returned by Axis. Its Color and Visible members control how the associated marker or horizontal axis is displayed.
Represents the settings for the horizontal axes of a group of sparklines.
Use this interface to access horizontal axis settings for a sparkline group, such as the axis color, whether the axis uses date-based values, and whether points are plotted in right-to-left order. Instances are typically obtained from Horizontal.
Represents a single sparkline object.
This interface provides access to a sparkline value stored in a worksheet cell. Use ToJson() to obtain the JSON representation of the current sparkline.
Represents the settings of the markers for points of data on a sparkline.
An ISparkPoints instance provides access to the marker settings for
the first, last, highest, lowest, positive, and negative data points in a sparkline.
It is typically obtained from Points and used together
with ISparkColor objects to control marker color and visibility.
Represents the settings for the vertical axes of a group of sparklines.
Use this interface to configure the minimum and maximum scale behavior for sparkline vertical axes, including custom axis bounds and scaling options relative to other sparklines in the same group.
Represents a single sparkline.
An ISparkline defines one sparkline item in a worksheet, including
the cell that displays the sparkline and the source range used to generate it.
Individual sparklines are typically obtained from an ISparklineGroup.
Represents a group of sparklines.
An ISparklineGroup contains the sparklines associated with a location range and provides access to shared group settings such as axes, display options, source data, and sparkline type.
Represents a collection of sparkline groups.
An ISparklineGroups object is associated with an IRange and
provides access to the sparkline groups in that range. Use this interface to
add new sparkline groups, retrieve existing groups, clear sparklines, group
selected sparklines, and iterate through the collection.
Represents a style that can be applied to a range.
An IStyle defines formatting such as font, borders, fill,
number format, alignment, and protection settings for cells. Styles are
typically created or retrieved through the workbook's IStyleCollection
and then applied to an IRange.
Represents a collection of all the IStyle objects in a specified workbook or the active workbook.
This collection stores the workbook's built-in and custom named styles and provides access to them by name or index. Obtain this collection through Styles.
Represents a table object on a worksheet.
An ITable defines a structured data region that can include a header row, data rows, totals, filtering, sorting, and table-specific formatting. Calling Add(IRange, bool) to add a table to a worksheet returns an ITable object.
Represents a column in a table.
An ITableColumn object is a member of the ITableColumns collection, which contains all columns in an ITable.
Represents a collection of all ITableColumn objects in a specified ITable.
Each ITableColumn in the collection represents a column in the table. Use this interface to access table columns by index or name, and to work with the complete set of columns in a table.
Represents a custom table data source.
Classes that implement this interface can be used as a DataTable-like
data source for template processing. An ITableDataSource exposes tabular data
through row and column indexes, together with column metadata, so that it can be added
to a workbook by using AddDataSource(string, object).
Represents a row in an ITable.
An ITableRow object is a member of the ITableRows collection and corresponds to a single data row in a table. You can use it to access the row index, obtain the row range, or delete the row from the table.
Represents the collection of all ITableRow objects in a specified ITable.
Each ITableRow in this collection represents a data row in the table. Use this interface to access, count, add, and delete table rows.
Represents a single style that can be applied to a table.
An ITableStyle can be a built-in style or a custom style stored in the workbook.
Use this interface to access the style name, inspect whether the style is built in, and
modify its ITableStyleElements before applying it to a table.
Represents a collection of table styles contained in the workbook.
Provides access to built-in and custom ITableStyle objects in a workbook. Use this interface to retrieve table styles by name or index, check whether a style exists, or add a custom table style through TableStyles.
Represents a single table style element.
A table style element defines the formatting applied to a specific part of a table, such as the whole table, header row, or striped rows. Use this interface to access the element's font, interior, borders, and stripe size settings.
Represents the collection of table style elements in a table style.
This interface provides access to the individual ITableStyleElement
objects that define formatting for specific parts of a table style, such as the
whole table, header row, or total row. Use TableStyleElements
to obtain an ITableStyleElements instance.
Represents the collection of all ITable objects in a worksheet.
Each ITable object represents a table in the worksheet. Use this interface to access existing tables, add new tables, and enumerate the tables returned by Tables.
Represents a range of characters in a IRichText object.
An ITextRun object stores the text and character-level formatting
for a contiguous portion of rich text in a cell. You can obtain this interface
from Add(string) or from a character range returned by
Characters(int, int).
Contains the theme information.
An ITheme describes a workbook theme, including its name, whether it is
built in, and the associated IThemeColorScheme and IThemeFontScheme.
Represents the theme color information.
An IThemeColor object describes a color entry in a workbook theme color
scheme, including the entry's RGB color value and its corresponding
ThemeColor entry. Instances are typically obtained from
ThemeColorScheme and this[ThemeColor].
Represents the theme color scheme.
This interface provides access to individual color entries in a theme, such as light, dark, accent, and hyperlink colors. Use this[ThemeColor] to get a specified theme color entry.
Represents a theme font.
A theme font defines the font name and language category used by a workbook theme. It is typically accessed from a workbook's Theme through its IThemeFontScheme and IThemeFonts collections.
Specifies the font theme to use.
An IThemeFontScheme represents the font scheme of a workbook theme and
provides access to the major and minor theme font collections through
Major and Minor.
Contains the theme fonts in different languages.
This interface represents a language-based collection of theme fonts in a workbook theme. It is typically obtained from Major or Minor and lets you access the theme font for a specific FontLanguageIndex, such as Latin, EastAsian, or ComplexScript.
Represents a conditional formatting rule that highlights the top or bottom N values.
Use this interface to configure a top or bottom N ranking rule for a range.
An ITop10 object is typically created by calling
AddTop10() on a range's conditional formatting
collection, and then setting the rank, whether it is calculated as a
percentage, and whether values are ranked from the top or bottom.
Represents a conditional formatting rule that highlights duplicate or unique values in a range.
The IUniqueValues object uses the DupeUnique property to get or set whether the rule should look for duplicate or unique values in the applied range. You can create this rule by using AddUniqueValues() and then customize its formatting and target range.
Represents a vertical page break.
A vertical page break defines where printed content is split into the next page across columns.
You can obtain an IVPageBreak from VPageBreaks, inspect its
location with Location, determine whether it spans the full sheet or only the
print area with Extent, or remove it with Delete().
Represents the collection of vertical page breaks within the print area.
Use this collection to add, access, and iterate vertical page breaks on a worksheet. A vertical page break added through this collection is positioned to the left of the specified range.
Represents data validation for a worksheet range.
Use Validation to obtain an IValidation instance for a range and
define the allowed data type, comparison rules, formulas, input messages, error messages, and
drop-down behavior for that range. A cell can have only one validation rule applied at a time.
Represents the sort field by cell value (ascending or descending or custom value list).
Use this interface to describe how a range is sorted by cell values. A value sort field can sort in ascending or descending order, or by a custom value list configured through CustomValues. It also exposes the sort field's data option through DataOption.
Defines an interface for handling web requests asynchronously.
Implement this interface to provide custom application logic for retrieving content from a URI and returning the response as a WebRequestResult.
Defines workbook-level APIs for working with spreadsheets.
This interface defines the workbook-level API for working with spreadsheets, including managing worksheets, accessing the active sheet, configuring workbook settings, handling workbook events, and performing operations such as calculation, opening, and saving.
The Workbook class is the known public implementation of this interface.
Represents the view settings of this workbook.
Use this interface to customize workbook-level display settings such as
scroll bars, workbook tabs, and the tab area ratio. Obtain an
IWorkbookView instance from BookView.
Represents a worksheet in a workbook.
IWorksheet provides access to worksheet content, ranges, views, events, and protection features, which can be used to read and modify cell data, manage worksheet state, and perform worksheet-related operations. This interface is typically obtained through ActiveSheet or Worksheets.
Represents worksheet view options.
Provides access to the display settings of a worksheet, such as formula visibility, gridline visibility, reading direction, scroll position, zoom, and view type. Use SheetView to retrieve the view settings for a worksheet.
Represents a collection of all worksheets in a workbook.
This interface provides access to the worksheets contained in a workbook and supports retrieving, adding, copying, moving, and selecting worksheets. You can obtain an IWorksheets instance from Worksheets.
Specifies how a rule checks values relative to the average or standard deviation.
This enum is used with AboveBelow to control whether the rule matches values that are above, below, equal to or above, equal to or below the average, or above or below the standard deviation.
Specifies the operator or filter type used by AutoFilter criteria.
Use this enum with AutoFilter(int, object, AutoFilterOperator, object, bool) to specify how the range should be filtered.
Specifies the direction for auto merge operations.
Used with AutoMerge(IRange, AutoMergeDirection, AutoMergeMode, AutoMergeSelectionMode) to control how adjacent cells with the same value are merged. The default direction is Column.
Specifies the auto merge mode.
Used with AutoMerge(IRange, AutoMergeDirection, AutoMergeMode, AutoMergeSelectionMode) to control how neighboring cells with the same value are merged.
Specifies the selection mode when auto merge is applied to a range.
Used as a parameter in AutoMerge(IRange, AutoMergeDirection, AutoMergeMode, AutoMergeSelectionMode) to control how cells are selected after auto merging. This property is primarily applicable to SpreadJS.
Specifies how a background image is laid out within the destination rectangle.
Use this enum with BackgroundImageLayout to control how a range's background image is displayed. Supported layouts can stretch the image, center it, fit it while preserving its aspect ratio, or place it at the top-left corner without resizing. The default layout returned by BackgroundImageLayout is Stretch.
Specifies the type of barcode.
Use this enumeration to identify the barcode symbology represented by an IBarcode instance, such as QRCode, DataMatrix, or PDF417. It includes both two-dimensional and linear barcode types supported by the library.
Specifies the line style for the border.
Use this enum with border-related APIs such as LineStyle to control how a cell or range border is drawn.
Specifies which border of a cell or range to retrieve.
Use this enum with this[BordersIndex] to access a specific edge, inside border, or diagonal border of a range and apply individual border settings.
Specifies the calculation error.
Use this enum when reading or assigning formula error values, such as
#DIV/0!, #VALUE!, or #N/A.
Specifies the calculation mode used by Microsoft Excel when the exported workbook is opened.
Specifies the type of cell element attribute used when exporting to HTML.
Specifies the type of cell control applied to a range.
Cell controls are formatting attributes on a range that define interactive behavior such as checkboxes. Use Type to retrieve the control type for a given range.
Specifies the layout direction of a checkbox list or radio button list cell type.
Specifies the text alignment for checkbox list and radio button list cells.
Determines whether the text label appears to the left or right of the checkbox or radio button in CheckBoxListCellType and RadioButtonListCellType.
Specifies the text alignment relative to the check box.
Represents special color index values available for color index properties of borders, fonts, or fills.
Use this enum to apply built-in color index meanings instead of a palette-based numeric index. For example, Automatic specifies automatic color, and None indicates that the target color is not set or has no color.
Specifies the type of color scale rule.
Use this enum with AddColorScale(ColorScaleType) to choose whether a conditional formatting color scale uses two colors or three colors.
Specifies the types of condition values that can be used.
Use this enumeration to define how threshold values are determined in conditional formatting rules such as data bars, color scales, and icon sets. Depending on the selected value, the threshold can be based on a fixed number, a percentage, a percentile, a formula, or the lowest or highest value in the range.
Specifies the subtotal function.
Use this enumeration to control how values are summarized in features such as Subtotal(int, ConsolidationFunction, IEnumerable<int>, bool, bool, SummaryRow) and PivotTable data fields.
Specifies the text matching operator used by a TextString conditional formatting rule.
Use this enumeration with TextOperator to control whether the rule checks whether cell text contains, does not contain, begins with, or ends with the specified text.
Specifies the position of a folded corner in a cell decoration.
Use this enum with CornerFold to indicate which corner or corners of a decorated cell display the fold. Each enum value represents a flag that can be combined with other values by using bitwise operations to apply folded corners to multiple positions.
CSS export type.
Specifies the axis position for a range of cells with conditional formatting as data bars.
Use this enumeration to control whether the data bar axis is hidden, positioned automatically based on positive and negative values, or fixed at the midpoint of the cell.
Specifies the border of a data bar.
Use this enumeration with IDataBarBorder to control whether a data bar displays no border or a solid border.
Specifies the direction of a data bar.
Use this enumeration with Direction to control how a data bar is displayed in cells that use data bar conditional formatting.
Specifies how a data bar is filled with color.
Use this enumeration to control whether a data bar is displayed with a solid fill or a gradient fill in conditional formatting.
Specifies whether negative data bars use a dedicated color or the same color as positive data bars.
This enumeration is used by INegativeBarFormat to control the fill color and border color behavior for negative values in a data bar conditional formatting rule.
Specifies how to shift cells to replace deleted cells.
Used with the Delete(DeleteShiftDirection) method to control the direction in which remaining cells move after a deletion.
Specifies the direction in which to move.
This enum corresponds to Excel's xlDirection constants and is used to indicate a movement direction such as up, down, left, or right.
Specifies how blank cells are plotted on a chart.
Use this enumeration with chart and sparkline blank-cell display settings to control whether blank cells are shown as gaps, zero values, or interpolated values.
Specifies whether a unique values conditional formatting rule evaluates unique values or duplicate values.
This enumeration is used by IUniqueValues to control whether the rule highlights values that appear only once in the specified range or values that are repeated.
Specifies the filter type.
Use this enum to define a dynamic filter condition for date-related periods,
specific months or quarters, or above-average and below-average values. It is
commonly passed to AutoFilter(int, object, AutoFilterOperator, object, bool)
together with AutoFilterOperator.Dynamic.
Specifies the error correction mode used by a DataMatrix barcode.
This enumeration determines how barcode data is protected against errors. Different modes provide different levels of error correction and may affect the generated symbol size. For example, ECC000 uses only a CRC checksum and usually produces the smallest symbol size, while ECC200 is the recommended mode and uses the Reed-Solomon error correction algorithm.
Specifies what is written to the data model when a user selects an item from a cell type that supports multiple choices.
Use this enum to control whether the selected item's display text, zero-based index, or underlying item value is stored. This enum is commonly used with ComboBoxCellType.
Represents the error correction level of a QR code.
Specifies the type of data to search in when using Find(object, IRange, FindOptions).
Used with LookIn to control where the find operation searches: formulas, displayed text, raw values, or comments.
Specifies the font language type.
Use this enum to select the Latin, EastAsian, or ComplexScript theme font from an IThemeFonts collection. It is commonly used with this[FontLanguageIndex] and returned by FontLanguageIndex.
Specifies the operator used by a conditional formatting rule to compare a formula with a cell value, or, for Between and NotBetween, to compare two formulas.
Use this enum with cell-value conditional formatting rules to define how the condition is evaluated. Between and NotBetween require two formula arguments, while the other operators use a single comparison value.
Specifies the type of a conditional formatting rule.
Use this enumeration to indicate how a conditional format is evaluated or displayed, such as a cell-value rule, expression rule, color scale, data bar, top 10 rule, icon set, or other supported conditional formatting type.
Specifies the value type of a custom function parameter or result.
Use this enum with Parameter and CustomFunction to declare the kinds of values a custom function accepts or returns, such as numbers, text, logical values, scalar variants, or objects.
Specifies the type of gradient fill.
Use this enum to distinguish between no gradient fill, a linear gradient, and a path gradient. A linear gradient transitions colors along a line, while a path gradient transitions colors within a rectangular path defined by its boundary settings.
Specifies the horizontal alignment of a cell or object.
Use this enum with APIs such as HorizontalAlignment to control how text is aligned within a cell, range, or styled object. Available values support general alignment, explicit left, center, and right alignment, repeated fill text, justified text, distributed text, and centered text across multiple cells.
Specifies the target location where a hyperlink is opened.
Use this enum to control whether a hyperlink opens in a new window or tab, the current frame, the parent frame, or the full browser window body.
Specifies the input method editor (IME) mode used by a data validation rule.
Use this enum with IMEMode to control how text is entered in validated cells, such as enforcing Hiragana, Katakana, alphanumeric, or Hangul input modes.
Specifies the position of an icon relative to a cell.
Use this enum with CellDecorationIcon to control whether a cell decoration icon appears on the left or right side of the cell, on either side of the cell text, or outside the cell boundary. This setting is used when applying decorations through Decoration.
Specifies the built-in icon set types used in icon set conditional formatting rules.
Use this enumeration with this[IconSetType] to retrieve a predefined IIconSet from the workbook and apply it to an IIconSetCondition.
Specifies the icon for a criterion in an icon set conditional formatting rule.
Use this enumeration to assign a specific icon to an IIconCriterion when configuring a custom icon set condition.
Specifies the types of errors that can be ignored in cells.
Specifies which parts of a worksheet are imported when a workbook is opened.
Use this enumeration with ImportFlags and similar open options APIs to limit the imported content to specific worksheet aspects, such as cell data, formulas, styles, tables, merged cells, or shapes. Combine multiple values by using a bitwise OR expression to import multiple aspects together.
Specifies the direction to shift cells when inserting a cell or a range of cells into a worksheet.
Used with the Insert(InsertShiftDirection) method to control whether existing cells are shifted down or to the right to make room for the newly inserted cells.
Specifies how insufficient destination space is handled when importing data into a range.
Use this enum with InsufficientSpaceHandling to control whether incoming data overwrites existing cells, inserts cells to make room, or is truncated when the target range cannot accommodate the full import. The default behavior is Overwrite.
Specifies how invalid formulas are handled.
Specifies the position of a cell label within a range.
Use this enum with Alignment to place a cell label at the top or bottom of the cell area, aligned to the left, center, or right.
Specifies the visibility of a cell label watermark.
Use this enum with LabelOptions and Visibility to control whether a watermark is shown in the padding area, the cell area, or automatically based on whether the cell has a value. Use visible to always show the watermark in the padding area, hidden to show it in the cell area based on the cell value, or auto to switch between the two behaviors automatically.
Specifies how PivotTable items are displayed for a field.
Use this enum with LayoutForm to show items in either tabular form or outline form. Tabular displays the field in tabular form, and Outline displays the field in outline form.
Specifies the row axis layout type for a pivot table.
Use this enum with SetRowAxisLayout(LayoutRowType) to change the display layout of a pivot table's row axis. The default layout is CompactRow.
Note: If the layout is set to TabularRow, the SubtotalLocationType can only be set to Bottom.
Specifies whether a search matches against the whole cell content or any part of it.
Used with LookAt and LookAt to control the matching behavior of Find(object, IRange, FindOptions) and Replace(object, object, ReplaceOptions).
Specifies the display mode when date or number data width is longer than the column width.
Represents the file format to use when opening a workbook.
Use this enum with workbook open overloads when the file format should be specified explicitly rather than inferred from the file name or stream content.
Represents the order uses to number pages when printing a large worksheet.
Specifies whether a page break applies to the entire worksheet or only within the print area.
Represents the portrait or landscape printing mode.
Use this enum with page setup APIs to control how a worksheet is oriented when printed or exported to paginated formats.
Represents the type of the page.
Specifies whether pagination is calculated horizontally or vertically.
Use this enum with GetPaginationInfo(IWorksheet, PaginationOrientation) to choose whether page boundaries are returned as column indexes for horizontal paging or row indexes for vertical paging. Pagination is based on the current worksheet page setup.
Represents the size of the paper.
Use this enum with PaperSize to specify a predefined paper size for worksheet printing. To use a nonstandard size, call CustomPaperSize(double, double) instead.
Specifies the type of content to paste during a range copy operation.
Used with Copy(IRange, PasteOption) or
PasteType to control which
aspects of the source range are pasted to the destination.
Multiple values can be combined using bitwise OR (e.g., PasteType.Values | PasteType.Formats).
Represents the fill pattern for the interior area of a cell or range.
Use this enum with Pattern to apply solid, patterned, or gradient fills.
Specifies the PivotTable entity the cell corresponds to.
Used by PivotCellType to identify what kind of area a cell belongs to within a PivotTable report, such as a data value, a pivot item label, a subtotal, or a grand total.
Specifies how a PivotTable data field is calculated.
Use this enumeration with Calculation to change a data field from the default calculation to a custom calculation such as percentage, difference, running total, or rank. These calculation types apply only to data fields.
Specifies date and time units that can be used to group a PivotField.
Specifies the location of a field in a PivotTable report.
Use this enum with Orientation to place a pivot field in the row area, column area, page area, data area, or to hide the field.
Specifies whether item labels are repeated in a PivotTable report.
Use this enum with RepeatAllLabels(PivotFieldRepeatLabels) to control whether repeated row field items are displayed on each row or shown only once.
Represents filter types that can be applied to a PivotTable field.
Use this enumeration with Add(PivotFilterType, object, object, PivotFilterOptions) to create label, value, date, and top or bottom filters for a pivot field.
Specifies the type of a pivot line represented by IPivotLine in a PivotTable.
Use this enumeration with LineType to determine whether that pivot line is a regular item line, a subtotal line, a grand total line, or a blank separator line.
Specifies how cell error values are printed on a worksheet.
Use this enum with PrintErrors to control whether printed output shows error values as they appear, suppresses them, or replaces them with an alternate display. It applies when printing a worksheet that contains formula errors such as division by zero or unavailable values.
Represents the way comments are printed with the sheet.
Specifies the print quality used for a worksheet page setup.
Use this enum with PrintQuality to control the output resolution used when the worksheet is printed. The default print quality is Dpi600.
Specifies the data type of a document property.
Use this enum with Type to determine how a built-in or custom document property value is stored.
Specifies the text reading order.
Use this enum to control how text is read within a cell or range, such as using contextual order or forcing left-to-right or right-to-left display.
Specifies the cell reference style used in a workbook.
Use this enum with ReferenceStyle to control whether formulas and references use A1 notation or R1C1 notation.
Represents the format in which the workbook is saved.
Specifies the direction to search within a range when using the Find(object, IRange, FindOptions) method.
Used with SearchDirection to control whether the search proceeds forward (Next) or backward (Previous) through the range.
Specifies the order in which to search a range.
Use this enum with search-related APIs to control whether the search progresses row by row or column by column.
Specifies the type of a worksheet tab.
This enum identifies whether a worksheet tab represents a table sheet, gantt sheet, or report sheet. It is typically used with ISheetTab to inspect sheet tab information in a workbook.
Represents the type of a sheet.
Use this enum with Add(SheetType) to create a specific kind of sheet, or with Type to identify whether an existing sheet is a regular worksheet or a chart sheet.
Specifies the sort order for slicer items.
Use this enum with slicer-related APIs such as SortItems to control whether items are displayed in ascending or descending order.
Specifies how text values are handled during sorting.
Use this enum with a value-based sort field to control whether text that looks like numbers is sorted as numeric data or whether numeric and text values are sorted separately.
Specifies the criterion used to sort data.
Use this enum to identify whether a sort field orders data by cell values, cell color, font color, or cell icons. It is commonly returned by SortOn to describe how a sort field evaluates the target range.
Specifies the sort order.
Use this enum to control how data is sorted, such as ascending or descending for value-based sorts, or top and bottom priority for other sort types.
Specifies the orientation used when sorting a range.
Use this enum to indicate whether sorting is performed by rows or by columns. It is commonly used with Sort(IRange, SortOrder, SortOrientation, bool) and Orientation.
Specifies how the minimum or maximum value of a sparkline vertical axis is scaled relative to other sparklines in the group.
Use this enum with the vertical axis settings of a sparkline group to control whether all sparklines share the same scale, each sparkline uses its own calculated scale, or a custom axis value is applied.
Specifies the type of sparkline.
Use this enum with ISparklineGroups to create line, column, or
win/loss sparklines for a range. The ColumnStacked100 value represents
a win/loss sparkline.
Specifies how sparklines are plotted when the source data is in a square-shaped range.
Used with PlotBy and PlotBy to control whether sparkline data is plotted by rows or columns.
Specifies the type of special cells to find within a range.
Used as a parameter for SpecialCells(SpecialCellType, SpecialCellsValue?) to locate cells matching specific criteria such as blanks, comments, constants, formulas, merged cells, and more.
Specifies cells with a particular value type to include in the result.
Used as the second parameter of SpecialCells(SpecialCellType, SpecialCellsValue?) when the cell type is Constants or Formulas, to further filter cells by their value type (numbers, text, logical values, or errors).
Specifies the position of the SpreadJS tab strip relative to the workbook.
Use this enum with TabStripPosition to place the SpreadJS tab strip on the top, bottom, left, or right side of the workbook.
Specifies where subtotals are displayed in a PivotTable report.
Use Top to place subtotals above the related field items, or Bottom to place them below the related field items. When used with SubtotalLocation(SubtotalLocationType), Bottom is required if the PivotTable row layout is TabularRow.
Specifies the type of subtotal for the specified pivot field.
Use this enum with Subtotals to control which subtotal calculations are shown for a nondata pivot field.
Specifies the position of the summary column in an outline.
Used with SummaryColumn to control whether the summary column appears to the left or right of the detail columns in a column grouping.
Specifies the position of the summary row in an outline.
When rows are grouped in a worksheet, a summary row is automatically created for each group. This enum controls whether the summary row is positioned above or below the detail rows in the outline.
Specifies the type of a table style element.
Use this enum to identify a specific part of a table, pivot table, slicer, or timeline style, such as the whole table, header row, total row, striped rows, or special selection states. It is typically used with this[TableStyleElementType] to access the corresponding ITableStyleElement.
Specifies the built-in theme colors in their displayed order.
Use this enumeration to refer to colors in a workbook theme, such as light and dark colors, accent colors, and hyperlink colors. These constants can be used when customizing a Theme color scheme or when applying a theme-based color to workbook content.
Specifies the theme font to use.
Use this enum with font-related APIs to apply a font from the workbook theme font scheme. Major uses the major theme font, Minor uses the minor theme font, and None specifies that no theme font is used.
Specifies a relative time period used by date-based conditional formatting rules.
Use this enum with DateOperator on a TimePeriod rule to indicate which relative date range, such as today, last week, or next month, the rule should evaluate.
Specifies whether a top 10 conditional formatting rule evaluates the highest values or the lowest values in a series.
Use this enumeration with ITop10 to control whether ranking is evaluated from the top or from the bottom of the applied range.
Specifies the type of calculation in the totals row of a table column.
Use this enumeration with TotalsCalculation to control how the totals cell is calculated for a table column, such as summing numeric values, counting cells, or returning the minimum or maximum value.
Specifies the underline style of text.
Use this enum with Underline to control whether text uses no underline, a single underline, a double underline, or an accounting underline style.
Specifies the feature type used to determine the used range of a worksheet.
Specifies the icon used in message boxes displayed during validation.
Use this enum with data validation APIs such as Add(ValidationType, ValidationAlertStyle, ValidationOperator, object, object) and AlertStyle to control whether the validation alert is shown with a stop, warning, or information icon.
Specifies the operator used by data validation to compare a formula against a cell value or, for Between and NotBetween, to compare two formulas.
Use this enum with IValidation to define how a validation rule evaluates input. Between and NotBetween require both formula arguments, while the other operators use only the first formula.
Specifies the type of data validation test to apply to cell values.
Use this enum with data validation APIs to control which kinds of values are accepted in a cell or range. Supported validation types include no restriction, whole numbers, decimal numbers, lists, dates, times, text length, and custom formulas.
Specifies how values are quoted when a workbook is exported as a text file.
Use this enum with ValueQuoteType to control whether values are quoted according to Excel-like rules for special characters, quoted unconditionally, quoted only in minimum cases, or not quoted at all.
Specifies the vertical alignment of text.
Use this enum with APIs such as VerticalAlignment to control how text is aligned within a cell, range, or styled object. Available values place text at the top, center, or bottom, or apply justified or distributed vertical alignment.
Represents the worksheet view type.
Use this enum with ViewType to switch the worksheet between normal editing view, page break preview, and page layout view.
Specifies whether the object is visible.
Use this enum to indicate whether an element is shown, hidden, or kept very hidden.