lxHandleX
type
TXLSXTextBox = class
constructor Create(const AText: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer);
property Text: WideString;
property FromRow, FromCol, ToRow, ToCol: Integer;
end;
TXLSXIgnoredError = class
constructor Create(const ASqRef: WideString);
procedure Assign(Source: TXLSXIgnoredError);
property SqRef: WideString;
property EvalError: Boolean;
property TwoDigitTextYear: Boolean;
property NumberStoredAsText: Boolean;
property Formula: Boolean;
property FormulaRange: Boolean;
property UnlockedFormula: Boolean;
property EmptyCellReference: Boolean;
property ListDataValidation: Boolean;
property CalculatedColumn: Boolean;
end;
TXLSXIgnoredErrors = class
function Add(const ASqRef: WideString): TXLSXIgnoredError;
function AddExisting(Source: TXLSXIgnoredError): TXLSXIgnoredError;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXIgnoredError; default;
end;
TXLSXScenarioInputCell = class
property Ref: WideString;
property Value: WideString;
property NumberFormatId: Integer;
property Deleted: Boolean;
property Undone: Boolean;
end;
TXLSXScenarioInputCells = class
function Add(const ARef, AValue: WideString): TXLSXScenarioInputCell;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXScenarioInputCell; default;
end;
TXLSXScenario = class
property Name: WideString;
property Locked: Boolean;
property Hidden: Boolean;
property User: WideString;
property Comment: WideString;
property InputCells: TXLSXScenarioInputCells;
end;
TXLSXScenarios = class
function Add(const AName: WideString): TXLSXScenario;
function FindByName(const AName: WideString): TXLSXScenario;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXScenario; default;
property CurrentIndex: Integer;
property ShownIndex: Integer;
property SqRef: WideString;
end;
TXLSXWorksheet = class
constructor Create(const AName: WideString);
destructor Destroy; override;
procedure SetWorkbook(AWorkbook: TXLSXWorkbook);
function MergeCells(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
function FillMergedCellValues: Integer;
property FormControls: TXLSXFormControls;
function AddHyperlink(ARow, ACol: Integer; const AUrl: WideString): Integer; overload;
function AddHyperlink(ARow, ACol: Integer; const AUrl, ADisplay: WideString): Integer; overload;
function AddHyperlink(ARow, ACol: Integer; const AUrl, ADisplay, ATooltip: WideString): Integer; overload;
function AddComment(ARow, ACol: Integer; const AText: WideString): Integer; overload;
function AddComment(ARow, ACol: Integer; const AText, AAuthor: WideString): Integer; overload;
function AddImage(ARow, ACol: Integer; const AData: AnsiString; AFormat: TXLSXImageFormat): Integer;
function AddImageFromFile(ARow, ACol: Integer; const AFileName: WideString): Integer;
function AddConditionalFormat(const ARange: WideString; AOp: TXLSXCfOperator; const AFormula1: WideString): Integer; overload;
function AddConditionalFormat(const ARange: WideString; AOp: TXLSXCfOperator; const AFormula1, AFormula2: WideString): Integer; overload;
// Excel 2007+ extension rules (v2.36.0+) — mirror the BIFF8 TXLSWorksheet API.
// Their colors are BGR ($00BBGGRR, like a VCL TColor), not the ARGB used by fonts and fills
function AddCondFormatDataBar(const ARange: WideString; AColor: LongWord;
AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
function AddCondFormatColorScale2(const ARange: WideString;
AMinColor, AMaxColor: LongWord;
AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
function AddCondFormatColorScale3(const ARange: WideString;
AMinColor, AMidColor, AMaxColor: LongWord;
AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
AMidKind: TXLSCfValueKind = cfvPercentile; const AMidValue: WideString = '50';
AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
function AddCondFormatIconSet(const ARange: WideString;
ASetType: TXLSIconSetType): Integer;
function AddCondFormatExpression(const ARange: WideString;
const AFormula: WideString): Integer;
function AddCondFormatContainsText(const ARange, AText: WideString): Integer;
function AddCondFormatNotContainsText(const ARange, AText: WideString): Integer;
function AddCondFormatBeginsWith(const ARange, AText: WideString): Integer;
function AddCondFormatEndsWith(const ARange, AText: WideString): Integer;
function AddCondFormatTop10(const ARange: WideString; ARank: Integer;
ABottom: Boolean = False; APercent: Boolean = False): Integer;
function AddCondFormatAboveAverage(const ARange: WideString;
AAbove: Boolean = True): Integer;
function AddCondFormatDuplicateValues(const ARange: WideString): Integer;
function AddCondFormatUniqueValues(const ARange: WideString): Integer;
function AddCondFormatContainsBlanks(const ARange: WideString): Integer;
function AddCondFormatNotContainsBlanks(const ARange: WideString): Integer;
function AddCondFormatContainsErrors(const ARange: WideString): Integer;
function AddCondFormatNotContainsErrors(const ARange: WideString): Integer;
function AddDataValidation(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddDataValidation(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddListValidation(const ARange, AItems: WideString): Integer;
function AddWholeNumberValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddWholeNumberValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddDecimalValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddDecimalValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddDateValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddDateValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddTimeValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddTimeValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddTextLengthValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddTextLengthValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddCustomValidation(const ARange, AFormula: WideString): Integer;
function CheckDataValidation(ARow, ACol: Integer; const AValue: Variant;
SetIfValid: Boolean = False): Integer;
// Excel-style table (insert table) — see TXLSXTable.
function AddTable(const AName, ARange: WideString; AColumns: TStrings): Integer;
// Chart helpers — anchored or full-page (via AddChartSheet on workbook).
function AddChart(AChartType: TXLSXChartType; const ATitle: WideString;
AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
// Standalone drawing text boxes.
function AddTextBox(const AText: WideString;
AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXTextBox;
function TextBoxCount: Integer;
function TextBox(Index: Integer): TXLSXTextBox;
function IndexOfTextBoxAt(ARow, ACol: Integer): Integer;
function FindTextBoxAt(ARow, ACol: Integer): TXLSXTextBox;
procedure DeleteTextBox(Index: Integer);
function DeleteTextBoxAt(ARow, ACol: Integer): Boolean;
function DeleteTextBoxesInRange(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
procedure ClearTextBoxes;
// Internal Sheet!Cell hyperlink (no rels relationship needed).
function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation: WideString): Integer; overload;
function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation, ADisplay: WideString): Integer; overload;
function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation, ADisplay, ATooltip: WideString): Integer; overload;
// Sheet visibility and selection state.
property Visibility: TXLSXSheetVisibility;
property Visible: Boolean;
property IsSelected: Boolean;
procedure SetIsSelected(Value: Boolean);
// Auto-fit column width / row height from cell content.
procedure AutoFitColumn(ACol: Integer; AMinWidth: Double = 0; AMaxWidth: Double = 0);
procedure AutoFitColumns(AColMin, AColMax: Integer; AMinWidth: Double = 0; AMaxWidth: Double = 0);
procedure AutoFitRow(ARow: Integer; AMinHeight: Double = 0; AMaxHeight: Double = 0);
procedure AutoFitRows(ARowMin, ARowMax: Integer; AMinHeight: Double = 0; AMaxHeight: Double = 0);
// Row / column insert and delete with cascade shift.
procedure InsertRows(BeforeRow, Count: Integer);
procedure DeleteRows(StartRow, Count: Integer);
procedure InsertCols(BeforeCol, Count: Integer);
procedure DeleteCols(StartCol, Count: Integer);
// Manual page breaks.
procedure AddRowBreak(BeforeRow: Integer);
procedure AddColBreak(BeforeCol: Integer);
function HasRowBreak(BeforeRow: Integer): Boolean;
function HasColBreak(BeforeCol: Integer): Boolean;
function IndexOfRowBreak(BeforeRow: Integer): Integer;
function IndexOfColBreak(BeforeCol: Integer): Integer;
procedure RemoveRowBreak(BeforeRow: Integer);
procedure RemoveColBreak(BeforeCol: Integer);
function RemoveRowBreaksInRange(FirstRow, LastRow: Integer): Integer;
function RemoveColBreaksInRange(FirstCol, LastCol: Integer): Integer;
procedure ClearRowBreaks;
procedure ClearColBreaks;
procedure ClearAllPageBreaks;
function RowBreakCount: Integer;
function ColBreakCount: Integer;
function RowBreaks(Index: Integer): Integer;
function ColBreaks(Index: Integer): Integer;
function KeepRowLinkLevel(AfterRow: Integer): Integer;
function KeepColLinkLevel(AfterCol: Integer): Integer;
function Calculate(const Formula: WideString): Variant;
function ForEachCell(Callback: TXLSXCellReadEvent): Integer;
function ForEachFormattedCell(Callback: TXLSXCellTextEvent): Integer;
function ForEachRow(Callback: TXLSXRowReadEvent): Integer;
function FindText(const SearchText: WideString; out Row, Col: Integer): Boolean; overload;
function FindText(const SearchText: WideString; out Row, Col: Integer; MatchCase: Boolean): Boolean; overload;
function ReplaceText(const SearchText, ReplacementText: WideString): Integer; overload;
function ReplaceText(const SearchText, ReplacementText: WideString; MatchCase: Boolean): Integer; overload;
function FindText(const SearchText: WideString; out Row, Col: Integer; Options: TXLSXFindOptions; StartRow, StartCol: Integer): Boolean; overload;
function FindTextIn(const SearchText: WideString; out Row, Col: Integer; Options: TXLSXFindOptions; FirstRow, FirstCol, LastRow, LastCol, StartRow, StartCol: Integer): Boolean;
function ReplaceText(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions): Integer; overload;
function ReplaceText(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions; Callback: TXLSXReplaceEvent): Integer; overload;
function ReplaceTextIn(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions; FirstRow, FirstCol, LastRow, LastCol: Integer; Callback: TXLSXReplaceEvent): Integer;
function WriteCells(const ARange: WideString; Callback: TXLSXCellWriteEvent): Integer; overload;
function WriteCells(ARow1, ACol1, ARow2, ACol2: Integer; Callback: TXLSXCellWriteEvent): Integer; overload;
function WriteRows(const ARange: WideString; Callback: TXLSXRowWriteEvent): Integer; overload;
function WriteRows(ARow1, ACol1, ARow2, ACol2: Integer; Callback: TXLSXRowWriteEvent): Integer; overload;
function WriteFloatRowValues(ARow, ACol: Integer; const AValues: array of Double): Integer;
function WriteStringRowValues(ARow, ACol: Integer; const AValues: array of WideString): Integer;
function WriteRowValues(ARow, ACol: Integer; const AValues: array of Variant): Integer;
function WriteFloatColumnValues(ARow, ACol: Integer; const AValues: array of Double): Integer;
function WriteStringColumnValues(ARow, ACol: Integer; const AValues: array of WideString): Integer;
function WriteColumnValues(ARow, ACol: Integer; const AValues: array of Variant): Integer;
// Column / row metadata.
procedure SetColWidth(ACol: Integer; AWidth: Double);
function HasColWidth(ACol: Integer): Boolean;
procedure ClearColWidths;
procedure SetRowHeight(ARow: Integer; AHeight: Double);
function HasRowHeight(ARow: Integer): Boolean;
procedure ClearRowHeights;
procedure SetRowOutlineLevel(ARow, ALevel: Integer);
function HasRowOutlineLevel(ARow: Integer): Boolean;
procedure ClearRowOutlineLevels;
procedure SetColOutlineLevel(ACol, ALevel: Integer);
function HasColOutlineLevel(ACol: Integer): Boolean;
procedure ClearColOutlineLevels;
procedure SetRowHidden(ARow: Integer; AHidden: Boolean);
procedure SetColHidden(ACol: Integer; AHidden: Boolean);
procedure ClearRowHidden;
procedure ClearColHidden;
procedure SetRowCollapsed(ARow: Integer; ACollapsed: Boolean);
procedure SetColCollapsed(ACol: Integer; ACollapsed: Boolean);
procedure ClearRowCollapsed;
procedure ClearColCollapsed;
function TryGetOutlineNode(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; out ANode: TXLSOutlineNode): Boolean;
function SetOutlineNodeCollapsed(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; ACollapsed: Boolean; AChildMode: TXLSOutlineChildMode = xocPreserve): Boolean;
procedure SetOutlineDisplayLevel(AAxis: TXLSOutlineAxis; ADisplayLevel: Integer; AChildMode: TXLSOutlineChildMode = xocPreserve);
// Range copy / move / clear API.
procedure ClearRangeValues(const ARange: WideString); overload;
procedure ClearRangeValues(ARow1, ACol1, ARow2, ACol2: Integer); overload;
procedure ClearRange(ARow1, ACol1, ARow2, ACol2: Integer);
procedure CopyRange(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2, ADstRow, ADstCol: Integer);
procedure CopyRangeTo(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2: Integer;
ATargetSheet: TXLSXWorksheet; ADstRow, ADstCol: Integer);
procedure CopyFrom(ASource: TXLSXWorksheet);
procedure MoveRange(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2, ADstRow, ADstCol: Integer);
procedure SortRange(ARow1, ACol1, ARow2, ACol2: Integer;
const AKeyCols: array of Integer; const ADescending: array of Boolean);
function GetCellVisibleFormat(ARow, ACol: Integer): TXLSXCellStyleState;
function Subtotal(ARow1, ACol1, ARow2, ACol2, AChangeColumn,
AFunction: Integer; const ASubtotalColumns: array of Integer): Integer; overload;
function Subtotal(ARow1, ACol1, ARow2, ACol2, AChangeColumn,
AFunction: Integer; const ASubtotalColumns: array of Integer;
const AGrandTotalText: WideString): Integer; overload;
function SubtotalDefaultEnglishString(AFunction: Integer): WideString;
// Frozen panes (top rows / left columns).
procedure FreezePanes(ARow, ACol: Integer);
procedure UnfreezePane;
property FreezeCol, FreezeRow: Integer;
// Page setup.
procedure SetPageMargins(ALeft, ARight, ATop, ABottom: Double); overload;
procedure SetPageMargins(ALeft, ARight, ATop, ABottom, AHeader, AFooter: Double); overload;
property MarginLeft, MarginRight, MarginTop, MarginBottom,
MarginHeader, MarginFooter: Double;
property MarginLeftCM, MarginRightCM, MarginTopCM, MarginBottomCM,
MarginHeaderCM, MarginFooterCM: Double;
property PageLandscape: Boolean;
property PaperSize, PageScale, FitToWidth, FitToHeight: Integer;
property HeaderText, FooterText: WideString;
property LeftHeader, CenterHeader, RightHeader: WideString;
property LeftFooter, CenterFooter, RightFooter: WideString;
property CenterHorizontally, CenterVertically: Boolean;
property PrintGridlines: Boolean;
property PrintHeadings: Boolean;
property BlackAndWhite: Boolean;
property Draft: Boolean;
property PrintNotes: Boolean;
property PrintOverThenDown: Boolean;
property PrintArea: WideString;
property PrintTitleRows: WideString;
property PrintTitleCols: WideString;
// Auto-filter range (e.g. "A1:C100"). Empty = no filter.
procedure SetAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer); overload;
procedure SetAutoFilter(const ARange: WideString); overload;
procedure ClearAutoFilter;
property AutoFilterRange: WideString;
property AutoFilterColumns: TXLSXAutoFilterColumns;
function AddAutoFilterColumn(AColId: Integer; AOp1: TXLSXAutoFilterOp; const ACriteria1: WideString): TXLSXAutoFilterColumn; overload;
function AddAutoFilterColumn(AColId: Integer; AOp1: TXLSXAutoFilterOp; const ACriteria1: WideString; AOp2: TXLSXAutoFilterOp; const ACriteria2: WideString; AAndConnector: Boolean): TXLSXAutoFilterColumn; overload;
procedure ClearAutoFilterColumns;
function AutoFilterRowVisible(ARow: Integer): Boolean;
function PreviewAutoFilterRows(Callback: TXLSXAutoFilterRowEvent): Integer;
function ApplyAutoFilter(const ARange: WideString): Boolean;
// Sheet protection (16-bit legacy hash).
procedure Protect; overload;
procedure Protect(const APassword: WideString); overload;
procedure UnProtect;
property IsProtected: Boolean;
property AllowOption[Option: TXLSXSheetProtectionOption]: Boolean;
property SheetProtectionOptions: TXLSXSheetProtectionOptions;
property PageSetupTouched: Boolean;
property SheetProtectHash: WideString;
// Sheet tab color + chart-sheet flag.
property TabColor: LongWord;
property TabColorIsAuto: Boolean;
property IsChartSheet: Boolean;
property Name: WideString;
property Workbook: TXLSXWorkbook;
property AlignWithMargins: Boolean;
property CodeName: WideString;
property ConsolidateXml: WideString;
property DifferentFirst: Boolean;
property DifferentOddEven: Boolean;
property EvenFooterText: WideString;
property EvenHeaderText: WideString;
property FirstFooterText: WideString;
property FirstHeaderText: WideString;
property FirstPageNumber: Integer;
property GridColor: LongWord;
property HorizontalDpi: Integer;
property OutlineLevelCol: Integer;
property OutlineLevelRow: Integer;
property PaneState: WideString;
property PhoneticAlignment: WideString;
property PhoneticFontId: Integer;
property PhoneticType: WideString;
property PrintErrors: Integer;
property ScaleWithDoc: Boolean;
property ScenariosXml: WideString;
property SheetProtectAlgorithmName: WideString;
property SheetProtectHashValue: WideString;
property SheetProtectSaltValue: WideString;
property SheetProtectSpinCount: Integer;
property ShowFormulas: Boolean;
property ShowOutlineSymbols: Boolean;
property SortState: TXLSXSortState;
property SortStateXml: WideString;
property SummaryBelow: Boolean;
property SummaryRight: Boolean;
property UseFirstPageNumber: Boolean;
property UsePrinterDefaults: Boolean;
property VerticalDpi: Integer;
property ZeroHeight: Boolean;
property ZoomNormal: Integer;
property ZoomPageLayout: Integer;
property ZoomSheetLayout: Integer;
// Sheet view display options.
property View: TXLSXWindowView;
property Zoom: Integer;
property DisplayGridLines: Boolean;
property DisplayZeros: Boolean;
property DisplayRightToLeft: Boolean;
property StandardWidth: Double;
property StandardHeight: Double;
// Collections owned by the worksheet.
property Cells: TXLSXCells;
property MergedCells: TXLSXMergedCells;
property Hyperlinks: TXLSXHyperlinks;
property Comments: TXLSXComments;
property Images: TXLSXImages;
property ConditionalFormats: TXLSXConditionalFormats;
property DataValidations: TXLSXDataValidations;
property IgnoredErrors: TXLSXIgnoredErrors;
property Scenarios: TXLSXScenarios;
property Tables: TXLSXTables;
property Charts: TXLSXCharts;
property PivotTables: TXLSPivotTables;
function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
function AddPivotTableCopy(SourcePivot: TXLSPivotTable; DestRow, DestCol: Integer; const NewName: WideString): TXLSPivotTable;
function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
property ColWidth[ACol: Integer]: Double;
property RowHeight[ARow: Integer]: Double;
property RowOutlineLevel[ARow: Integer]: Integer;
property ColOutlineLevel[ACol: Integer]: Integer;
property RowHidden[ARow: Integer]: Boolean;
property ColHidden[ACol: Integer]: Boolean;
property RowCollapsed[ARow: Integer]: Boolean;
property ColCollapsed[ACol: Integer]: Boolean;
property Range[const Ref: WideString]: TXLSXRange;
property RCRange[R1, C1, R2, C2: Integer]: TXLSXRange;
property UsedRange: TXLSXRange;
function EntireRow(ARow: Integer): TXLSXRange;
function EntireColumn(ACol: Integer): TXLSXRange;
property ProtectedRanges: TXLSXProtectedRanges;
property RawWorksheetExts: TXLSXRawWorksheetExts;
property SparklineGroups: TXLSXSparklineGroups;
property ThreadedComments: TXLSXThreadedComments;
function AddAreaChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddBarChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddChartFromRange(const ARange: WideString; AChartType: TXLSXChartType): TXLSXChart;
function AddColumnChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddLineChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddPieChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddSparklineGroup(const ARange, ALocation: WideString; AType: TXLSXSparklineType): TXLSXSparklineGroup;
function AddThreadedComment(ARow, ACol: Integer; const AText, AAuthor: WideString): TXLSXThreadedComment;
function AddThreadedReply(AParentComment: TXLSXThreadedComment; const AText, AAuthor: WideString): TXLSXThreadedComment;
function GetSheetProtectOption(Option: TXLSXSheetProtectionOption): Boolean;
procedure SetSheetProtectOption(Option: TXLSXSheetProtectionOption; Value: Boolean);
procedure PasteFromClipboard(StartRow, StartCol: Integer);
function AddWordArt(const AText, APreset: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXTextBox;
procedure BuildRowMajorCellOrder;
procedure ClearRawDrawingAnchors;
function CreateConditionalFormatEvaluator: TXLSXConditionalFormatEvaluator;
function RawDrawingAnchor(Index: Integer): WideString;
function RawDrawingAnchorCount: Integer;
function AddRawDrawingAnchor(const AXml: WideString): TXLSXDrawingObject;
procedure BringToFront(AObject: TXLSXDrawingObject);
procedure SendToBack(AObject: TXLSXDrawingObject);
procedure BringForward(AObject: TXLSXDrawingObject);
procedure SendBackward(AObject: TXLSXDrawingObject);
function SaveAsPDF(const FileName: WideString): Integer; overload;
function SaveAsPDF(Stream: TStream): Integer; overload;
procedure ToggleColGrouped(ACol: Integer);
procedure ToggleRowGrouped(ARow: Integer);
end;
TXLSXBuiltinCellStyle = (
xbsNormal, xbsGood, xbsBad, xbsNeutral,
xbsCalculation, xbsCheckCell, xbsExplanatoryText, xbsInput,
xbsLinkedCell, xbsNote, xbsOutput, xbsWarningText,
xbsHeading1, xbsHeading2, xbsHeading3, xbsHeading4, xbsTitle, xbsTotal,
xbsAccent1, xbsAccent2, xbsAccent3, xbsAccent4, xbsAccent5, xbsAccent6);
TXLSXRange = class
function RefA1: WideString;
function SaveAsHTML(const FileName: WideString): Integer; overload;
function SaveAsHTML(const FileName: WideString; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream): Integer; overload;
function SaveAsHTML(Stream: TStream; Options: TXLSXHtmlExportOptions): Integer; overload;
procedure SetValue(const V: Variant);
procedure SetFormula(const F: WideString);
procedure ClearValues;
procedure Clear;
procedure ClearAll;
procedure SetFontIndex(AIdx: Integer);
procedure SetFillIndex(AIdx: Integer);
procedure SetBorderIndex(AIdx: Integer);
procedure SetNumberFormatIndex(AIdx: Integer);
procedure SetAlignmentIndex(AIdx: Integer);
procedure SetNumberFormat(const Fmt: WideString);
procedure SetBorders(Kind: TXLSXBorderEdgeKind; Style: TXLSXBorderStyle); overload;
procedure SetBorders(Kind: TXLSXBorderEdgeKind; Style: TXLSXBorderStyle; Color: LongWord); overload;
procedure SetLocked(ALocked: Boolean);
procedure SetFormulaHidden(AHidden: Boolean);
procedure AutoFitColumns(AMinWidth: Double = 0; AMaxWidth: Double = 0);
procedure AutoFitRows(AMinHeight: Double = 0; AMaxHeight: Double = 0);
procedure Merge; overload;
procedure Merge(Across: OleVariant); overload;
procedure Unmerge;
function Offset(DRow, DCol: Integer): TXLSXRange;
function Resize(NewRowCount, NewColCount: Integer): TXLSXRange;
procedure Sort(AKeyColumn: Integer; ADescending: Boolean = False); overload;
procedure Sort(const AKeyColumns: array of Integer; const ADescending: array of Boolean); overload;
procedure ApplyBuiltinStyle(AStyle: TXLSXBuiltinCellStyle);
procedure CopyTo(ADestRow, ADestCol: Integer);
procedure MoveTo(ADestRow, ADestCol: Integer);
procedure InsertRows;
procedure DeleteRows;
procedure InsertCols;
procedure DeleteCols;
end;
| Name | Nombre de la pestaña de la hoja de cálculo tal como lo muestra Excel |
| SetWorkbook / Workbook | Establece y expone la referencia inversa al libro de trabajo usada por los asistentes de celdas y compartidos del libro de trabajo, como formatos de número compartidos, rellenos, bordes y búsquedas de cadenas compartidas |
| Cells | Colección de celdas. Use Cells.Item[Row, Col].Value
Consulte TXLSXCells / TXLSXCell |
| Calculate | Compila y evalúa una cadena de fórmula de Excel en el contexto de esta hoja de cálculo. Se acepta un = inicial, y el evaluador de fórmulas compartido del libro de trabajo resuelve las referencias locales de la hoja, las celdas de fórmula referenciadas, las referencias entre hojas, los rangos de nombres definidos y las funciones de texto, fecha, días laborables, ingeniería/conversión de base, bit a bit, estadísticas, agregación y matemáticas soportadas |
| GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / CheckDataValidation | GetCellVisibleFormat resuelve el estilo efectivo en una coordenada sin crear una celda vacía. Subtotal agrupa un rectángulo ordenado por los cambios de una columna absoluta de la hoja de cálculo, acepta los números de función SUBTOTAL de Excel del 1 al 11 o del 101 al 111, inserta filas de fórmula y de esquema, y devuelve el número de filas insertadas. SubtotalDefaultEnglishString mapea un número de función SUBTOTAL a su nombre en inglés (por ejemplo 1 a Average y 9 a Total). CheckDataValidation devuelve -1 para un candidato válido o el índice de base 1 de la primera regla que falla, y solo confirma cuando SetIfValid es verdadero y todas las reglas aplicables pasan |
| ForEachCell / ForEachFormattedCell / ForEachRow / FindText / ReplaceText / WriteCells / WriteRows | Asistentes para el escaneo de celdas y filas cargadas, búsqueda de texto, reemplazo de texto y llenado de rangos. ForEachCell recorre las celdas existentes en orden de fila con el valor y el texto de fórmula. ForEachFormattedCell recorre las celdas pobladas en orden de fila/columna entregando el texto de visualización de cada celda con el formato numérico aplicado, devuelve el número de celdas visitadas y respeta la cancelación del callback. ForEachRow recorre las filas existentes en orden de fila e informa la primera y última columna cargada de cada fila. FindText y ReplaceText escanean las celdas de texto cargadas en orden de fila, omiten fórmulas y valores que no son texto, y pueden distinguir mayúsculas; las sobrecargas con opciones agregan la semántica del diálogo Buscar de Excel (comodines, coincidencia de celda completa, distinción de mayúsculas, búsqueda de texto de fórmulas, escaneo hacia atrás, escaneo por columnas) y FindTextIn / ReplaceTextIn confinan el escaneo a una ventana rectangular con un callback opcional de reemplazo por coincidencia. WriteCells solicita valores para un rango numérico o de estilo A1 y admite omisión y cancelación por celda. WriteRows solicita un arreglo Variant por fila y admite omisión y cancelación de filas completas |
| MergedCells | Colección de rangos combinados. Consulte TXLSXMergedCells |
| Hyperlinks | Colección de hipervínculos. Consulte TXLSXHyperlinks |
| Comments | Colección de comentarios de celda. Consulte TXLSXComments |
| Tables / AddTable | Banda de tabla al estilo de Excel en la hoja de cálculo. Consulte TXLSXTable / TXLSXTables |
| Charts / AddChart | Colección de gráficos anclados. Consulte
TXLSXChart / TXLSXCharts
. El enum de tipos de gráfico admite gráficos de columnas, barras, líneas, circulares, de área, de anillos, de dispersión, de burbujas y radar. Para un gráfico de página completa, use
Workbook.AddChartSheet(...) |
| AddTextBox / TextBoxCount / TextBox / FindTextBoxAt | Crea, enumera, localiza, elimina y limpia cuadros de texto de dibujo independientes anclados a rectángulos de celdas.
IndexOfTextBoxAt y FindTextBoxAt localizan el primer cuadro de texto que contiene una celda, mientras que
DeleteTextBoxAt, DeleteTextBoxesInRange,
DeleteTextBoxy ClearTextBoxes eliminan cuadros de texto individuales o agrupados sin tocar los comentarios de celda |
| AddHyperlinkToCell overloads | Hipervínculo de anclaje interno — salta a una ubicación
Sheet!Cell de otra parte del libro de trabajo. No se genera una relación rels. Consulte
TXLSXHyperlink.Location |
| RowOutlineLevel / ColOutlineLevel | Nivel de anidamiento de grupos (0..7) para la fila o columna correspondiente. SaveAs emite outlineLevel="N" en la entrada de la fila / columna |
| RowHidden / ColHidden | Booleano — saca la fila o columna de la vista (hidden="1") |
| RowCollapsed / ColCollapsed | Booleano — marca una fila / columna cuyo padre de agrupación está contraído (collapsed="1") |
| FreezePanes(Row, Col) / UnfreezePane | Establece una división inmovilizada — las primeras Row
filas y las Col columnas de la izquierda permanecen visibles mientras el resto se desplaza. FreezeCol y
FreezeRow son propiedades de solo lectura que exponen la división actual |
| SetPageMargins / Page setup properties | Los seis márgenes más PageLandscape,
PaperSize, PageScale,
FitToWidth, FitToHeight,
HeaderText, FooterText,
LeftHeader, CenterHeader,
RightHeader, LeftFooter,
CenterFooter, RightFooter,
CenterHorizontallyy CenterVertically. Ajustar cualquiera de ellos dispara los bloques <pageMargins>,
<pageSetup>y <headerFooter>
correspondientes al guardar. Use las constantes con nombre xlsxPaper* como xlsxPaperLetter, xlsxPaperA4,
xlsxPaperA3y xlsxPaperLegal en lugar de los códigos crudos de tamaño de papel de Excel, cuando sea posible |
| Visibility | Visibilidad de la hoja: xlsxSheetVisible
(predeterminada), xlsxSheetHidden (oculta pero recuperable desde la UI de Excel) o xlsxSheetVeryHidden (requiere VBA o código para mostrarse). SaveAs emite un atributo state en el elemento
<sheet> de xl/workbook.xmlVisible es un alias booleano de conveniencia para las operaciones comunes de mostrar u ocultar |
| SetIsSelected / IsSelected | Cuando es True, la pestaña de la hoja aparece seleccionada (resaltada). Varias hojas pueden estar seleccionadas a la vez. SaveAs emite tabSelected="1" en el <sheetView> |
| AutoFitColumn / AutoFitColumns | AutoFitColumn(Col, MinWidth, MaxWidth) mide cada celda de la columna y asigna a ColWidth[Col] el ancho del contenido más ancho (ASCII = 1 carácter, CJK = 2 caracteres, escala Calibri 11 pt), y luego aplica límites opcionales de ancho mínimo y máximo.
AutoFitColumns(Min, Max, MinWidth, MaxWidth) itera el rango de columnas, acotado a la última columna con celdas |
| AutoFitRow / AutoFitRows | AutoFitRow(Row, MinHeight, MaxHeight) asigna a
RowHeight[Row] el alto del contenido de celda más alto de esa fila (en puntos), y luego aplica límites opcionales de alto mínimo y máximo.
AutoFitRows(Min, Max, MinHeight, MaxHeight) itera el rango de filas, acotado a la última fila con celdas |
| InsertRows / DeleteRows | InsertRows(BeforeRow, Count) desplaza hacia abajo BeforeRow filas todas las filas desde
Count. DeleteRows(StartRow, Count) elimina las filas [StartRow, StartRow+Count-1] y sube el resto. Ambas operaciones tienen efecto en cascada sobre celdas, rangos combinados, altos de fila, niveles de esquema, flags de ocultación, hipervínculos, comentarios, panel inmovilizado, referencias de autofiltro / formato condicional / validación de datos, tablas, fórmulas de celda, fórmulas de formato condicional / validación de datos, destinos de hipervínculos internos, referencias de configuración de impresión, saltos de página manuales, criterios de columna de autofiltro, rangos de series de gráficos y nombres definidos que apuntan a la hoja editada, anclas de imágenes y anclas de gráficos |
| InsertCols / DeleteCols | Igual que InsertRows / DeleteRows pero operando sobre columnas. Los anchos de columna, los niveles de esquema y los flags de ocultación también se actualizan |
| AddRowBreak / AddColBreak | AddRowBreak(N) inserta un salto de página manual antes de la fila N (es decir, la fila N inicia una nueva página impresa). AddColBreak(N) rompe antes de la columna
N. SaveAs escribe <rowBreaks> /
<colBreaks> en el XML de la hoja |
| HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreak | Consulta o localiza un salto manual único por su índice "anterior" |
| RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRange | Elimina un salto manual o todos los saltos de un intervalo inclusivo de filas / columnas; los asistentes de rango aceptan coordenadas invertidas y devuelven el número de saltos eliminados |
| ClearRowBreaks / ClearColBreaks / ClearAllPageBreaks | Elimina todos los saltos de fila, todos los saltos de columna, o ambos |
| RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i] | Itera los índices de saltos almacenados (valores "anterior" de base 1) |
| KeepRowLinkLevel / KeepColLinkLevel | Devuelve el nivel keep-together más fuerte que vincula la fila (o columna) posterior al índice dado con el bloque de arriba (o de la izquierda), o 0 cuando la posición no está dentro de un bloque keep-together |
| PrintGridlines / PrintHeadings | Cuando es True, SaveAs emite
printGridLines="1" /
printRowColHeadings="1" dentro de
<printOptions> para que las líneas de cuadrícula o los encabezados de fila/columna aparezcan en la página impresa |
| BlackAndWhite / Draft / PrintNotes / PrintOverThenDown | Opciones de impresión en <pageSetup>:
BlackAndWhite renderiza en blanco y negro;
Draft suprime los gráficos para una vista previa más rápida;
PrintNotes imprime los comentarios de celda tal como se muestran;
PrintOverThenDown cambia el orden de páginas a primero de izquierda a derecha en lugar de primero de arriba abajo |
| PrintArea | La región rectangular que Excel imprime (p. ej.
"$A$1:$D$10"). Se escribe como un
<definedName name="_xlnm.Print_Area"> a nivel de libro de trabajo con ámbito en esta hoja. Cadena vacía = sin establecer |
| PrintTitleRows / PrintTitleCols | Rangos de filas o columnas que se repiten en cada página impresa (p. ej. "$1:$3" o "$A:$B"). Se escriben como
<definedName name="_xlnm.Print_Titles"> |
| SetAutoFilter / AutoFilterRange | Establece el rango del filtro (p. ej.
"A1:C100"); SaveAs escribe
<autoFilter ref="..."/> |
| AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumns | Criterios de filtro por columna adjuntos al rango del autofiltro. AddAutoFilterColumn(ColId, Op, Criteria) agrega un filtro de un solo criterio; la sobrecarga de dos criterios agrega un par AND/OR.
AutoFilterColumns.FindByColId(ColId) devuelve un objeto de criterios existente, AutoFilterColumns.DeleteByColId(ColId)
elimina uno sin escanear Items manualmente, y
AutoFilterColumns.ClearCriteria limpia todos los criterios de columna conservando el rango del filtro.
ColId es el desfase de base 0 dentro del rango del autofiltro (no la columna de la hoja). SaveAs escribe hijos <filterColumn>
dentro de <autoFilter> |
| AutoFilterRowVisible / PreviewAutoFilterRows / ApplyAutoFilter | AutoFilterRowVisible(Row) evalúa los criterios de AutoFiltro XLSX almacenados para una fila de datos. PreviewAutoFilterRows recorre las filas de datos de AutoFilterRange, informa el estado de visibilidad de cada fila mediante un callback, devuelve el número de filas visibles visitadas y no cambia los flags de ocultación de filas. ApplyAutoFilter aplica los criterios del autofiltro, oculta las filas que no coinciden y devuelve si tuvo éxito |
| Protect / UnProtect / IsProtected | Interruptor de protección a nivel de hoja con un hash opcional de contraseña heredado de 16 bits. Se refleja como
<sheetProtection> |
| AllowOption / SheetProtectionOptions | 15 opciones de permisos de protección de grano fino (como dar formato a celdas, insertar filas/columnas, ordenar, autofiltrar, seleccionar celdas bloqueadas/desbloqueadas, etc.), correspondientes a la lista de permisos de "Proteger hoja" de Excel |
| PageSetupTouched / SheetProtectHash | Use PageSetupTouched para inspeccionar si los valores de configuración de página se modificaron explícitamente, y
SheetProtectHash para leer/escribir el texto del hash heredado de 16 bits de protección de hoja que usan los formatos de archivo XLS heredados |
| AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormat | Métodos para crear, copiar y dar formato a tablas dinámicas. AddPivotTable construye una tabla dinámica a partir de un rango de origen en notación A1 como 'Data!A1:C9' y la ancla en la celda basada en uno DestRow, DestCol; devuelve nil si el origen está mal formado o el ancla queda fuera de la hoja. AddPivotTableCopy copia en profundidad una tabla dinámica existente, de esta hoja o de otro libro de trabajo, a un nuevo ancla basada en uno en esta hoja de cálculo (un NewName vacío da como resultado '<source> (2)'). PivotSetDataFieldFormat registra un formato de número para un campo de datos y devuelve su índice de formato de número |
| PivotTables | Colección de tablas dinámicas definidas en esta hoja de cálculo |
| MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCM | Márgenes de configuración de página representados en centímetros |
| TabColor / TabColorIsAuto | Color ARGB para la pestaña de la hoja de cálculo en Excel;
asignar TabColor establece TabColorIsAuto en
False. Con TabColorIsAuto = True (predeterminado) se
suprime el hijo <tabColor> de <sheetPr> |
| IsChartSheet | Cuando es True, SaveAs escribe la hoja en
xl/chartsheets/sheetN.xml en lugar de
xl/worksheets/sheetN.xml y aloja
Charts[0] a página completa. Use el asistente
Workbook.AddChartSheet(...) para la configuración típica |
| View | Modo de vista de la hoja de cálculo. Los valores son
xlsxNormalView, xlsxPageBreakPreviewy
xlsxPageLayoutView. SaveAs escribe el atributo
view correspondiente en <sheetView>; Open lo vuelve a leer |
| Zoom | Porcentaje de zoom de la vista de la hoja (10-400; predeterminado 100, acotado al asignar). Emite zoomScale="N" dentro de
<sheetView>; el valor predeterminado se suprime para que las hojas intactas permanezcan limpias |
| DisplayGridLines | Cuando es False, oculta las líneas de cuadrícula de celdas en la vista de la hoja. Predeterminado True. Emite
showGridLines="0" cuando es False |
| DisplayZeros | Cuando es False, las celdas con valor cero se renderizan en blanco en lugar de "0". Predeterminado True. Emite
showZeros="0" cuando es False |
| DisplayRightToLeft | Cuando es True, la hoja se muestra con diseño de derecha a izquierda (columna A a la derecha), adecuado para texto en árabe o hebreo. Emite rightToLeft="1" |
| StandardWidth | Ancho de columna predeterminado en unidades de carácter de Excel (p. ej. 8.43 = predeterminado integrado). Asignar un valor > 0 emite
<sheetFormatPr defaultColWidth="..."/>0 = sin establecer (elemento suprimido) |
| StandardHeight | Alto de fila predeterminado en puntos (p. ej. 15 = predeterminado integrado). Asignar un valor > 0 emite
defaultRowHeight="..." en
<sheetFormatPr>0 = sin establecer |
| ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRange | Operaciones de rangos de celdas. CopyRange y CopyRangeTo duplican valores, fórmulas, índices de estilo y cargas útiles de texto enriquecido; CopyFrom duplica el contenido y la configuración de toda la hoja de cálculo (incluidas celdas combinadas, configuración de página, estado de vista, autofiltros, etc.); estos tres solo copian el contenido de las celdas, así que los comentarios se quedan atrás, y CloneRangeTo o Sheets.AddCopy lleva los comentarios con sus runs de texto enriquecido; MoveRange omite la superposición con el destino; SortRange ordena filas completas dentro de un rectángulo por una o más columnas clave absolutas; ClearRange elimina celdas; ClearRangeValues limpia valores y fórmulas conservando los índices de estilo |
| Range / RCRange / UsedRange | Devuelven envoltorios
TXLSXRange
propiedad de la hoja para referencias A1, coordenadas numéricas de base 1 o la clausura poblada de la hoja de cálculo. TXLSXRange.SaveAsHTML(FileName)
y TXLSXRange.SaveAsHTML(Stream) exportan solo el rango seleccionado como una tabla HTML UTF-8. Los envoltorios de rango también ofrecen valores por lotes, fórmulas, índices de estilo, formatos numéricos, bordes, flags de protección, autofit, combinación, desfase, cambio de tamaño, ordenación multiclave, estilos de celda integrados, copiar/mover y asistentes de inserción/eliminación de filas o columnas completas |
| EntireRow / EntireColumn | Devuelven rangos de fila completa o columna completa para el índice indicado, aptos para operaciones estructurales o propagación de estilos |
| MergeCells(R1, C1, R2, C2) | Agrega un rectángulo combinado y devuelve el índice de la nueva entrada. Las coordenadas son de base 1, inclusivas en ambos extremos. Equivale a
MergedCells.Add(R1, C1, R2, C2). Para código estilo rango,
Range['A1:C3'].Merge(True) escribe un rango combinado por fila, equivalente al comando combinar a lo ancho de Excel |
| FillMergedCellValues | Copia el valor del ancla de cada rango combinado en cada celda miembro cubierta, de modo que las hojas estilo informe se lean después como una cuadrícula plana. Las anclas vacías o nulas se omiten, así que las combinaciones prerellenadas conservan su propio contenido, y se devuelve el número de celdas rellenadas |
| FormControls | Colección de controles de formulario de la hoja de cálculo (botones, casillas, botones de opción, cuadros combinados, cuadros de lista) creada por la familia de asistentes
AddFormButton / AddFormCheckBox /
AddFormRadioButton / AddFormComboBox /
AddFormListBox . Cada entrada expone el rectángulo de anclaje, la celda vinculada y el tipo de control |
| AddHyperlink overloads | Agrega un hipervínculo de URL externa a una sola celda.
Display y Tooltip son opcionales. Equivale a Hyperlinks.Add(...) |
| AddComment overloads | Agrega un comentario a una sola celda. Author
es opcional. Equivale a Comments.Add(...) |
| ColWidth[Col] | Ancho de columna en unidades de Excel (la misma escala que usa el diálogo de ancho de columna de Excel). Leer una columna sin establece devuelve
0; asignar un valor establece el ancho de esa columna de base 1. SaveAs emite una entrada <col> por columna personalizada; Open reproduce el bloque <cols> de vuelta en el mapa |
| RowHeight[Row] | Alto de fila en puntos (la misma escala que usa el diálogo de alto de fila de Excel). Leer una fila sin establecer devuelve 0; asignar un valor establece el alto de esa fila de base 1. SaveAs escribe los atributos ht y customHeight="1" en cada <row> con alto personalizado, incluso en filas que solo llevan alto sin datos de celda |
| SetColWidth / SetRowHeight | Definidores directos usados por las propiedades indexadas de arriba. Se ofrecen como métodos con nombre para los llamadores que prefieren no usar la sintaxis de propiedades |
| HasColWidth / HasRowHeight | Devuelve True cuando la hoja de cálculo tiene un ancho o alto personalizado para el índice dado. Úselo para distinguir "sin establecer" de un 0 deliberado |
| ClearColWidths / ClearRowHeights | Devuelve cada ancho o alto personalizado al valor predeterminado de Excel |
| ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsed | Devuelve todas las anulaciones de ocultación/contracción de filas o columnas al estado predeterminado visible y expandido |
| Images | Colección de imágenes. Use AddImage /
AddImageFromFile como puntos de entrada de conveniencia. Consulte
TXLSXImage / TXLSXImages |
| HeaderFooterImages | Ranuras con tipos para imágenes de encabezado y pie de página impares, pares y de primera página, con propiedades independientes de posición, tamaño, margen, formato, datos y título. Consulte TXLSXHeaderFooterImage / TXLSXHeaderFooterImages |
| ConditionalFormats | Reglas de formato condicional de esta hoja de cálculo. Use AddConditionalFormat como entrada de conveniencia. Consulte TXLSXConditionalFormat / TXLSXConditionalFormats |
| DataValidations | Reglas de validación de datos de esta hoja de cálculo. Use
AddDataValidation / AddListValidation como entradas de conveniencia. Consulte
TXLSXDataValidation / TXLSXDataValidations |
| IgnoredErrors | Metadatos con tipos de supresión de errores de la hoja de cálculo. Cada TXLSXIgnoredError combina un SqRef multiárea separado por espacios en blanco con las flags estándar de evaluación, fecha, número almacenado, fórmula, fórmula desbloqueada, referencia vacía, validación de datos y columna calculada. Las entradas sobreviven a las copias de hojas y a los round-trips de abrir/guardar, y sus rangos siguen las inserciones o eliminaciones de filas y columnas |
| AddImage / AddImageFromFile | Agrega una imagen anclada a una celda. AddImage recibe los bytes crudos más un TXLSXImageFormat; AddImageFromFile lee el archivo e infiere el formato de su extensión. Equivale a Images.Add en la colección |
| AddConditionalFormat overloads | Agrega una regla de formato condicional cellIs. Equivale a ConditionalFormats.Add(...) |
| AddCondFormatExpression / text / rank / average / duplicate / blank / error helpers | Agrega reglas de formato condicional especializadas para fórmulas, coincidencia de texto, rangos superiores/inferiores, valores sobre/debajo del promedio, valores duplicados o únicos, celdas en blanco, no vacías, con errores y sin errores. El índice devuelto puede usarse con ConditionalFormats[Index].Style para adjuntar el formato |
| AddWholeNumberValidation / AddWholeNumberValidation overloads / Whole whole-number validations | Agrega validaciones de números completos con soporte de rango o criterios |
| ProtectedRanges | Colección de rangos de celdas protegidos que requieren autenticación por contraseña en la hoja |
| RawWorksheetExts | Expone los datos crudos de la lista de extensiones de la hoja de cálculo para inyección directa de XML |
| SparklineGroups / AddSparklineGroup | Gestiona minigráficos sparkline en línea dentro de las celdas. AddSparklineGroup crea un grupo que referencia un rango de datos |
| ThreadedComments / AddThreadedComment / AddThreadedReply | Da soporte a conversaciones modernas de comentarios encadenados (respuestas). AddThreadedComment crea una conversación de comentario encadenado de nivel superior, y AddThreadedReply agrega una respuesta |
| AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChart | Atajos de gráficos de Excel. AddChartFromRange crea un gráfico anclado directamente a partir de datos de celdas |
| GetSheetProtectOption / SetSheetProtectOption | Obtiene o establece flags específicos de permisos de protección de hoja de forma programática |
| PasteFromClipboard | Pega el contenido del portapapeles directamente a partir de las coordenadas indicadas |
| AlignWithMargins | Especifica si los márgenes de página se alinean con el contenido de la hoja de cálculo |
| CodeName | Especifica el nombre de código VBA de la hoja |
| ConsolidateXml | Expone los datos XML consolidados crudos |
| DifferentFirst | Habilita un encabezado/pie de página independiente para la primera página |
| DifferentOddEven | Habilita encabezados/pies de página independientes para páginas impares/pares |
| EvenFooterText / EvenHeaderText | Cadenas de texto para los encabezados y pies de página de las páginas pares |
| FirstFooterText / FirstHeaderText | Cadenas de texto para los encabezados y pies de página de la primera página |
| FirstPageNumber | Número de la primera página impresa |
| GridColor | Color de las líneas de cuadrícula de la hoja |
| HorizontalDpi / VerticalDpi | Resoluciones de DPI de impresión para los ejes horizontal y vertical |
| OutlineLevelCol / OutlineLevelRow | Nivel de esquema predeterminado para columnas y filas |
| PaneState | Estado de desplazamiento inmovilizado de los paneles |
| PhoneticAlignment / PhoneticFontId / PhoneticType | Alineación, índice de fuente y tipo fonético del texto ruby fonético CJK |
| PrintErrors | Comportamiento de impresión de errores de celda |
| ScaleWithDoc | Escala encabezados/pies con la escala del documento |
| Scenarios | Colección con tipos del Administrador de escenarios What-If. Cada escenario posee de una a 32 celdas de entrada y soporta su nombre, estados de bloqueo y ocultación, metadatos de usuario y comentario, valores almacenados, formatos numéricos y flags de eliminado o deshecho
CurrentIndex, ShownIndexy
SqRef exponen el estado del Administrador de escenarios a nivel de hoja de cálculo |
| ScenariosXml | Respaldo heredado de XML interno crudo, usado solo cuando la colección con tipos Scenarios está vacía |
| SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCount | Propiedades criptográficas para los hashes de contraseña de protección de hoja modernos |
| ShowFormulas | Muestra las fórmulas en lugar de los valores |
| ShowOutlineSymbols | Muestra los símbolos de los grupos de esquema |
| SortState / SortStateXml | Criterios de ordenación con tipos y contenido XML de ordenación textual |
| SummaryBelow / SummaryRight | Posición de la fila y columna de resumen del esquema |
| UseFirstPageNumber | Usa un inicio de numeración de páginas explícito |
| UsePrinterDefaults | Usa la configuración DEVMODE predeterminada de la impresora |
| ZeroHeight | Oculta de forma predeterminada las filas recién insertadas |
| ZoomNormal / ZoomPageLayout / ZoomSheetLayout | Valores de nivel de zoom para las vistas normal, de diseño de página y de vista previa de saltos |
| AddWordArt | Agrega un control de forma de texto WordArt a la hoja de cálculo |
| BuildRowMajorCellOrder | Optimiza el almacenamiento de celdas secuencialmente para la iteración por filas |
| ClearRawDrawingAnchors | Limpia todas las anclas XML crudas de formas de dibujo sin mapear |
| CreateConditionalFormatEvaluator | Instancia un motor de utilidades de evaluación de formato condicional |
| RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchor | Gestiona anclas XML crudas de formas de dibujo sin mapear
AddRawDrawingAnchor agrega un bloque
<xdr:...Anchor> completo preservado textualmente para el round-trip y devuelve el nuevo TXLSXDrawingObject |
| BringToFront / SendToBack / BringForward / SendBackward | Reordena un objeto de dibujo en el orden z de la hoja:
BringToFront lo mueve por encima de todos los demás dibujos,
SendToBack por debajo de todos, y las variantes
Forward / Backward lo avanzan una posición |
| SaveAsPDF | Exporta la hoja de cálculo a un archivo o flujo PDF |
| TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevel | Consulta o cambia de forma idempotente los nodos de resumen de filas y columnas según la dirección, a través del modelo compartido de esquema disperso; consulte Geometría de esquema dispersa |
| ToggleColGrouped / ToggleRowGrouped | Envoltorios de compatibilidad que aceptan la primera columna o fila de detalle y conmutan su nodo de resumen resuelto |
var
ws: TXLSXWorksheet;
scenario: TXLSXScenario;
begin
ws := Workbook.Sheets.Add('Demo');
ws.Cells.Item[1, 1].Value := 'Title';
ws.MergeCells(1, 1, 1, 3);
ws.ColWidth[1] := 24; // widen column A
ws.RowHeight[1] := 28; // taller title row
ws.Cells.Item[3, 1].Value := 'Visit losLab';
ws.AddHyperlink(3, 1, 'https://www.loslab.com', 'losLab');
ws.AddComment(3, 1, 'Vendor home page', 'Kevin');
ws.AddTextBox('Standalone note', 2, 5, 5, 9);
if ws.FindTextBoxAt(3, 6) <> nil then
ws.DeleteTextBoxesInRange(2, 5, 5, 9);
scenario := ws.Scenarios.Add('Baseline');
scenario.User := 'Analyst';
scenario.Comment := 'Approved assumptions';
scenario.InputCells.Add('B2', '1250').NumberFormatId := 4;
scenario.InputCells.Add('B3', '0.18');
ws.Scenarios.SqRef := 'B2:B3';
end;