Telerik.Documents.AI.Tools.Spreadsheet.Core
Repository for multi-document orchestration scenarios.
Manages multiple workbooks in memory with support for creation and import.
Initializes a new instance with no documents.
Timeout for import operations, or null to allow unlimited time. For security against DDoS attacks, explicitly choose a value or null.
Provides a unified interface for managing spreadsheet workbooks.
Extends IDocumentRepository with spreadsheet-specific creation capabilities.
Provides extension methods for registering Spreadsheet agent tools and related services with an .
Adds Spreadsheet agent tools to the service collection.
The service collection.
Configuration options for document processing.
Formula and calculation tools for spreadsheets.
These tools allow formula evaluation and discovery without modifying the document.
Read-only spreadsheet tools for querying and analyzing workbook data without modification.
These tools are safe for analysis-only scenarios.
Worksheet management tools for creating, deleting, and organizing worksheets in a workbook.
These tools modify the workbook structure but not cell content.
Document editing tools for writing data, applying styles, and formatting spreadsheets.
These tools modify cell content and formatting in the workbook.
Core implementation of high-level data analysis tools for spreadsheets
using Split-Apply-Combine operations.
These tools enable filtering, grouping, and aggregation without requiring formula knowledge.
Gets worksheet structure and column information in a single call.
Aggregates data with optional filtering and grouping.
Retrieves rows matching filter criteria.
Describes a single data region (default mode).
Describes a single column with header, type, and samples.
Analyzes a column to determine type and sample values.
Uses GetCellData for proper type inference including date detection.
Formats one region's block for multi-region DescribeData output.
Appends a summary of charts and images present on the worksheet, if any.
Shown at the end of both single-region and multi-region DescribeData output so the
LLM is aware of non-tabular visual content when describing the sheet.
Scans the data range for cells whose value is a SUM formula that references the same
column — a definitive structural sign that the column contains both individual rows and
computed aggregates of those rows (financial statement / hierarchical outline pattern).
Returns a human-readable description of the first such cell found (e.g. "B12 contains
=SUM(B2:B11)"), or null when none is found.
Appends a prominent warning to the DescribeData output when a SUM formula referencing
the same column is found — the definitive structural indicator of hierarchical data
(financial statements, outlines) where summing naively would double-count.
Scans the worksheet for rectangular data blocks separated by empty rows.
Returns regions sorted by data row count descending so index 0 is always the
largest (primary) table. Each region's column extent is detected independently.
Performs the actual aggregation with row iteration.
Detects the 1-based row number used in a formula expression by finding the first
cell reference. Falls back to if no reference is found.
Adjusts all cell reference row numbers in a formula from one row to another.
For example, "J2*K2" with baseRow=2, targetRow=5 becomes "J5*K5".
Formats aggregation results with HAVING filter, sorting, and limit.
Builds a group key from the specified columns.
Formats a number for display (removes unnecessary decimals).
Formats GetRows results as a readable table.
Truncates string to width and pads with spaces.
Converts a 0-based column index to Excel column letter(s).
Extracts typed cell data: formatted string, raw numeric value, and date flag.
Uses the cell's own CellValueFormat for proper display formatting.
For numbers, returns the raw double directly (no string round-trip).
For dates, sets IsDateTime and stores the OADate in NumericValue.
Gets the formatted cell value as a string using the cell's own format.
Convenience wrapper around .
Tracks aggregation state for a single group.
Specifies the type of aggregation to perform.
Count the number of matching rows.
Sum the values in the specified column.
Calculate the average of values in the specified column.
Find the minimum value in the specified column.
Find the maximum value in the specified column.
Count distinct values in the specified column.
Specifies how multiple criteria are combined.
All criteria must match (logical AND).
Any criterion must match (logical OR).
Specifies the sort order for results.
Sort from smallest to largest.
Sort from largest to smallest.
Specifies the comparison operator for filter criteria.
Cell value equals the criterion value (case-insensitive for text, numeric comparison for numbers).
Cell value does not equal the criterion value.
Cell value is greater than the criterion value (numeric comparison).
Cell value is greater than or equal to the criterion value.
Cell value is less than the criterion value (numeric comparison).
Cell value is less than or equal to the criterion value.
Cell value contains the criterion value as a substring (case-insensitive).
Cell value starts with the criterion value (case-insensitive).
Cell value ends with the criterion value (case-insensitive).
Cell is empty or contains only whitespace.
Cell is not empty.
Cell value string length is greater than the criterion integer value.
Cell value string length is less than the criterion integer value.
Represents extracted cell data with typed values for efficient comparison.
Display string using the cell's own format.
Raw numeric value if the cell contains a number (including dates stored as OADate).
Whether the numeric value represents a date/time based on the cell format.
Whether the cell is empty.
Represents a filter criterion for data analysis.
The column index (0-based) to apply the criterion to.
The comparison operator to use for matching.
The value to compare against.
Static utility for criterion matching with typed cell data.
Prepares criteria by pre-parsing values (done once, not per-row).
Checks if a cell's typed data matches a prepared criterion.
Uses NumericValue directly for numeric comparisons (no string re-parsing).
Checks if a row matches all prepared criteria with the specified logic.
Checks if an aggregated value passes the HAVING criterion.
Represents a detected data region in a worksheet.
Represents a HAVING filter applied to aggregated results.
The comparison operator for the HAVING filter. Valid values: Equals, NotEquals,
GreaterThan, LessThan, GreaterThanOrEqual, LessThanOrEqual.
The numeric value to compare the aggregated result against.
Pre-parsed criterion with operator and value parsing done once.
Parsed date value when the criterion string represents a date. Used for date-aware cell comparisons.