Documentación HotXLS

Clase TXLSXWorksheet

Hoja de cálculo única dentro de un TXLSXWorkbook Posee la colección de celdas más las colecciones de celdas combinadas, hipervínculos y comentarios. Declarada en lxHandleX

Declaración

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;
      

Miembros

NameNombre de la pestaña de la hoja tal como lo muestra Excel
SetWorkbook / WorkbookEstablece y expone la referencia inversa al libro de trabajo que usan los ayudantes de celda y los compartidos del libro de trabajo, como los formatos numéricos compartidos, los rellenos, los bordes y las búsquedas en cadenas compartidas
CellsColección de celdas. Use Cells.Item[Row, Col].Value Véase TXLSXCells / TXLSXCell
CalculateCompila y evalúa una cadena de fórmula de Excel en el contexto de esta hoja de cálculo Un signo igual inicial = se acepta, y las referencias locales de la hoja de cálculo, las celdas de fórmulas referenciadas, las referencias entre hojas, los rangos de nombres definidos y las funciones admitidas de texto, fecha, días laborables, ingeniería/conversión de bases, bit a bit, estadísticas, agregación y matemáticas se resuelven mediante el evaluador de fórmulas compartidas del libro de trabajo
GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / CheckDataValidationGetCellVisibleFormat resuelve el estilo efectivo en una coordenada sin crear una celda vacía. Subtotal agrupa un rectángulo ordenado por cambios en una columna absoluta de la hoja de cálculo, acepta 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 basado en uno de la primera regla que falla, y solo confirma cuando SetIfValid es true y todas las reglas aplicables pasan
ForEachCell / ForEachFormattedCell / ForEachRow / FindText / ReplaceText / WriteCells / WriteRowsAsistentes para el escaneo de celdas y filas cargadas, búsqueda de texto, reemplazo de texto y relleno de rangos. ForEachCell recorre las celdas existentes en orden de fila con valor y texto de fórmula. ForEachFormattedCell recorre las celdas pobladas en orden de fila/columna entregando el texto mostrado de cada celda con el formato de número aplicado y devuelve el número de celdas visitadas respetando la cancelación de la devolución de llamada. ForEachRow recorre las filas existentes en orden de fila e informa de la primera y la última columna cargadas de cada fila. FindText y ReplaceText examinan las celdas de texto cargadas en orden de fila, omiten fórmulas y valores que no son texto, y pueden distinguir mayúsculas y minúsculas; las sobrecargas con opciones añaden 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órmula, escaneo hacia atrás, escaneo por columnas) y FindTextIn / ReplaceTextIn confinan el escaneo a una ventana rectangular con una devolución de llamada opcional de reemplazo por coincidencia. WriteCells pide valores para un rango numérico o estilo A1 y admite omisión y cancelación por celda. WriteRows pide un array Variant para cada fila y admite omisión y cancelación de la fila completa
MergedCellsColección de rangos combinados. Véase TXLSXMergedCells
HyperlinksColección de hipervínculos. Véase TXLSXHyperlinks
CommentsColección de comentarios de celda. Véase TXLSXComments
Tables / AddTableBanda de tabla al estilo de Excel sobre la hoja de cálculo. Véase TXLSXTable / TXLSXTables
Charts / AddChartColección de gráficos anclados. Véase TXLSXChart / TXLSXCharts La enumeración de tipos de gráfico admite gráficos de columnas, de barras, de líneas, circulares, de área, de anillo, de dispersión, de burbujas y radar Para un gráfico de página completa, usa Workbook.AddChartSheet(...)
AddTextBox / TextBoxCount / TextBox / FindTextBoxAtCrea, enumera, localiza, elimina y borra 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, DeleteTextBox y ClearTextBoxes eliminan cuadros de texto individuales o agrupados sin tocar los comentarios de celda
AddHyperlinkToCell overloadsHipervínculo de anclaje interno — salta a una ubicación Sheet!Cell en otra parte del libro. No se genera la relación rels. Véase TXLSXHyperlink.Location
RowOutlineLevel / ColOutlineLevelNivel de anidamiento de grupo (0..7) de la fila o columna correspondiente. SaveAs emite outlineLevel="N" en la entrada de fila / columna
RowHidden / ColHiddenBooleano — saca la fila o columna de la vista (hidden="1")
RowCollapsed / ColCollapsedBooleano — marca una fila / columna cuyo grupo padre está contraído (collapsed="1")
FreezePanes(Row, Col) / UnfreezePaneEstablece una división inmovilizada: las primeras Row filas y las primeras Col columnas permanecen visibles mientras el resto se desplaza. FreezeCol y FreezeRow son propiedades de solo lectura que exponen la división actual
SetPageMargins / Page setup propertiesLos seis márgenes más PageLandscape, PaperSize, PageScale, FitToWidth, FitToHeight, HeaderText, FooterText, LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter, CenterHorizontally y CenterVertically. Establecer uno solo dispara los bloques <pageMargins>, <pageSetup> y <headerFooter> correspondientes en SaveAs. Use las constantes con nombre xlsxPaper*, como xlsxPaperLetter, xlsxPaperA4, xlsxPaperA3 y xlsxPaperLegal, en lugar de los códigos crudos de tamaño de papel de Excel siempre que sea posible
VisibilityVisibilidad de la hoja: xlsxSheetVisible (predeterminado), xlsxSheetHidden (oculta pero revisible desde la interfaz de Excel) o xlsxSheetVeryHidden (requiere VBA o código para volver a mostrarla). 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 / IsSelectedCuando es True, la pestaña de la hoja aparece seleccionada (resaltada). Se pueden seleccionar varias hojas simultáneamente. SaveAs emite tabSelected="1" en el <sheetView> coincidente
AutoFitColumn / AutoFitColumnsAutoFitColumn(Col, MinWidth, MaxWidth) mide todas las celdas de la columna y ajusta ColWidth[Col] al contenido más ancho (ASCII = 1 carácter, CJK = 2 caracteres, escala Calibri 11pt) y después aplica límites opcionales de anchura mínima y máxima AutoFitColumns(Min, Max, MinWidth, MaxWidth) itera el rango de columnas, limitado a la última columna con celdas
AutoFitRow / AutoFitRowsAutoFitRow(Row, MinHeight, MaxHeight) establece RowHeight[Row] al contenido de celda más alto de esa fila (en puntos) y después aplica límites opcionales de altura mínima y máxima AutoFitRows(Min, Max, MinHeight, MaxHeight) itera el rango de filas, limitado a la última fila con celdas
InsertRows / DeleteRowsInsertRows(BeforeRow, Count) desplaza todas las filas a partir de BeforeRow inclusive Count posiciones hacia abajo. DeleteRows(StartRow, Count) elimina las filas [StartRow, StartRow+Count-1] y arrastra el resto hacia arriba. Ambas operaciones se propagan en cascada por celdas, rangos combinados, alturas de fila, niveles de esquema, marcas de ocultación, hipervínculos, comentarios, panel inmovilizado y referencias de autofiltro / formato condicional / validación de datos, tablas, fórmulas de celda, fórmulas de formato condicional / validación de datos, destinos internos de hipervínculos, referencias de configuración de página, saltos de página manuales, criterios de columna del autofiltro, rangos de series de gráficos y nombres definidos que apuntan a la hoja de cálculo editada, además de anclajes de imágenes y anclajes de gráficos
InsertCols / DeleteColsIgual que InsertRows / DeleteRows pero operando sobre columnas. Las anchuras de columna, los niveles de esquema y las marcas de ocultación también se actualizan
AddRowBreak / AddColBreakAddRowBreak(N) inserta un salto de página manual antes de la fila N (es decir, la fila N empieza una página impresa nueva). AddColBreak(N) corta antes de la columna N. SaveAs escribe <rowBreaks> / <colBreaks> en el XML de la hoja
HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreakConsulta o localiza un salto manual único por su índice "before"
RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRangeQuita un salto manual o todos los saltos de un intervalo inclusivo de filas / columnas; los ayudantes de rango aceptan coordenadas invertidas y devuelven el número de saltos eliminados
ClearRowBreaks / ClearColBreaks / ClearAllPageBreaksElimina todos los saltos de fila, todos los saltos de columna, o ambos
RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i]Recorre los índices de salto almacenados (valores "Before" basados en uno)
KeepRowLinkLevel / KeepColLinkLevelDevuelven el nivel de mantenimiento conjunto 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 de mantenimiento conjunto
PrintGridlines / PrintHeadingsCuando 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 / PrintOverThenDownOpciones de impresión en <pageSetup>: BlackAndWhite renderiza en blanco y negro; Draft omite 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ágina a primero de izquierda a derecha en lugar de primero de arriba a abajo
PrintAreaLa 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 con ámbito en esta hoja. Cadena vacía = sin establecer
PrintTitleRows / PrintTitleColsRangos de filas o columnas que se repiten en cada página impresa (p. ej. "$1:$3" u "$A:$B"). Se escriben como <definedName name="_xlnm.Print_Titles">
SetAutoFilter / AutoFilterRangeEstablece el rango del filtro (p. ej. "A1:C100"); SaveAs escribe <autoFilter ref="..."/>
AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumnsCriterios de filtro por columna adjuntos al rango del autofiltro. AddAutoFilterColumn(ColId, Op, Criteria) añade un filtro de un solo criterio; la sobrecarga de dos criterios añade un par AND/OR AutoFilterColumns.FindByColId(ColId) devuelve un objeto de criterios existente, y AutoFilterColumns.DeleteByColId(ColId) elimina uno sin recorrer Items manualmente, y AutoFilterColumns.ClearCriteria borra todos los criterios de columna conservando el rango del filtro ColId es el desplazamiento de base cero dentro del rango del autofiltro (no la columna de la hoja). SaveAs escribe elementos <filterColumn> dentro de <autoFilter>
AutoFilterRowVisible / PreviewAutoFilterRows / ApplyAutoFilterAutoFilterRowVisible(Row) evalúa los criterios XLSX AutoFilter almacenados para una fila de datos. PreviewAutoFilterRows recorre las filas de datos de AutoFilterRange, informa del estado de visibilidad de cada fila a través de un callback, devuelve el número de filas visibles recorridas y no modifica las marcas de ocultación de filas. ApplyAutoFilter aplica los criterios del autofiltro, oculta las filas que no coinciden y devuelve si la operación tuvo éxito
Protect / UnProtect / IsProtectedConmutador de protección a nivel de hoja con un hash de contraseña heredado opcional de 16 bits. Se refleja como <sheetProtection>
AllowOption / SheetProtectionOptions15 opciones de permisos de protección de grano fino (como dar formato a celdas, insertar filas/columnas, ordenar, usar autofiltro, seleccionar celdas bloqueadas/desbloqueadas, etc.), equivalentes a la lista de permisos de "Proteger hoja" de Excel
PageSetupTouched / SheetProtectHashUse PageSetupTouched para comprobar si los valores de configuración de página se modificaron explícitamente, y SheetProtectHash para leer/escribir el texto hash de protección de hoja heredado de 16 bits que usan los formatos de archivo XLS antiguos
AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormatMé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, a un nuevo ancla basada en uno en esta hoja de cálculo (un NewName vacío produce '<source> (2)'). PivotSetDataFieldFormat registra un formato de número para un campo de datos y devuelve su índice de formato de número
PivotTablesColección de tablas dinámicas definidas en esta hoja de cálculo
MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCMMárgenes de configuración de página representados en centímetros
TabColor / TabColorIsAutoColor ARGB para la pestaña de la hoja de cálculo en Excel; asignar TabColor pone TabColorIsAuto a False Con TabColorIsAuto = True (por defecto) se omite el hijo <tabColor> de <sheetPr>
IsChartSheetCuando 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 ayudante Workbook.AddChartSheet(...) para el montaje típico
ViewModo de vista de la hoja de cálculo. Los valores son xlsxNormalView, xlsxPageBreakPreview y xlsxPageLayoutView. SaveAs escribe el atributo view correspondiente en <sheetView>; Open lo vuelve a leer
ZoomPorcentaje de zoom de la vista de hoja (10–400; valor por defecto 100, limitado al asignar). Emite zoomScale="N" dentro de <sheetView>; el valor por defecto se suprime para que las hojas intactas permanezcan limpias
DisplayGridLinesCuando es False, oculta las líneas de cuadrícula de las celdas en la vista de la hoja. Por defecto True. Emite showGridLines="0" cuando es False
DisplayZerosCuando es False, las celdas con valor cero se renderizan en blanco en lugar de "0". Por defecto True. Emite showZeros="0" cuando es False
DisplayRightToLeftCuando es True, la hoja se muestra con disposición de derecha a izquierda (la columna A a la derecha), adecuada para texto en árabe o hebreo. Emite rightToLeft="1"
StandardWidthAnchura de columna por defecto en unidades de carácter de Excel (p. ej. 8.43 = valor por defecto integrado). Establecer un valor > 0 emite <sheetFormatPr defaultColWidth="..."/>0 = sin establecer (elemento suprimido)
StandardHeightAltura de fila por defecto en puntos (p. ej. 15 = valor por defecto integrado). Establecer un valor > 0 emite defaultRowHeight="..." en <sheetFormatPr>0 = sin establecer
ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRangeOperaciones de rango de celdas. CopyRange y CopyRangeTo duplican valores, fórmulas, índices de estilo y payloads de texto enriquecido; CopyFrom duplica todo el contenido y la configuración de la hoja de cálculo (incluidas las celdas combinadas, la configuración de página, el estado de vista, los autofiltros, etc.); estos tres solo copian el contenido de las celdas, de modo que los comentarios se quedan atrás, y CloneRangeTo o Sheets.AddCopy lleva los comentarios con sus fragmentos de texto enriquecido; MoveRange omite el solapamiento del destino; SortRange ordena filas completas dentro de un rectángulo por una o más columnas clave absolutas; ClearRange elimina celdas; ClearRangeValues borra valores y fórmulas conservando los índices de estilo
Range / RCRange / UsedRangeDevuelve TXLSXRange propios de la hoja, como envoltorios para referencias A1, coordenadas numéricas basadas en uno o la clausura de celdas con contenido 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 proporcionan valores por lotes, fórmulas, índices de estilo, formatos numéricos, bordes, marcas de protección, autoajuste, combinación, desplazamiento, cambio de tamaño, ordenación por varias claves, estilos de celda integrados, copiar/mover y ayudantes de inserción/eliminación de filas o columnas enteras
EntireRow / EntireColumnDevuelve rangos de fila completa o de columna completa para el índice especificado, adecuados para operaciones estructurales o para propagar estilos
MergeCells(R1, C1, R2, C2)Añade un rectángulo combinado y devuelve el índice de la nueva entrada. Las coordenadas están basadas en uno, con ambos extremos inclusivos. 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 de combinación a lo ancho de Excel
FillMergedCellValuesCopia el valor del ancla de cada rango combinado en todas las celdas miembro cubiertas, de modo que las hojas estilo informe se lean después como una cuadrícula plana. Los anclas vacíos o nulos se omiten, de modo que las combinaciones prerrellenadas conservan su propio contenido, y se devuelve el número de celdas rellenadas
FormControlsColección de controles de formulario de la hoja de cálculo (botones, casillas, botones de opción, cuadros combinados, cuadros de lista) creados por la familia de asistentes AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox . Cada entrada expone el rectángulo ancla, la celda vinculada y el tipo de control
AddHyperlink overloadsAñade un hipervínculo de URL externa a una sola celda Display y Tooltip son opcionales. Equivale a Hyperlinks.Add(...)
AddComment overloadsAñade un comentario a una sola celda. Author es opcional. Equivale a Comments.Add(...)
ColWidth[Col]Anchura de columna en unidades de Excel (la misma escala que usa el diálogo de anchura de columna de Excel). Leer una columna sin establecer devuelve 0; asignar un valor fija la anchura de esa columna basada en uno. SaveAs emite una entrada <col> por cada columna personalizada; Open reproduce el bloque <cols> de nuevo en el mapa
RowHeight[Row]Altura de fila en puntos (la misma escala que usa el diálogo de altura de fila de Excel). Leer una fila sin establecer devuelve 0; asignar un valor fija la altura de esa fila basada en uno. SaveAs escribe los atributos ht y customHeight="1" en cada <row> con altura personalizada, incluso filas que solo llevan altura sin datos de celda
SetColWidth / SetRowHeightSetters directos usados por las propiedades indexadas anteriores Se proporcionan como métodos con nombre para los llamadores que prefieren no usar la sintaxis de propiedades
HasColWidth / HasRowHeightDevuelve True cuando la hoja de cálculo tiene una anchura o altura personalizada para el índice dado. Sirve para distinguir "sin establecer" de un 0 real
ClearColWidths / ClearRowHeightsDevuelve todas las anchuras o alturas personalizadas al valor por defecto de Excel
ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsedDescarta todas las anulaciones de oculto/contraído de filas o columnas y las devuelve al estado predeterminado de visible y expandido
ImagesColección de imágenes. Use AddImage / AddImageFromFile como puntos de entrada de conveniencia. Véase TXLSXImage / TXLSXImages
HeaderFooterImagesRanuras tipadas de imágenes de encabezado y pie impares, pares y de primera página, con propiedades independientes de posición, tamaño, margen, formato, datos y título. Vea TXLSXHeaderFooterImage / TXLSXHeaderFooterImages
ConditionalFormatsReglas de formato condicional de esta hoja de cálculo Use AddConditionalFormat como punto de entrada de conveniencia Véase TXLSXConditionalFormat / TXLSXConditionalFormats
DataValidationsReglas de validación de datos de esta hoja de cálculo. Use AddDataValidation / AddListValidation como puntos de entrada de conveniencia. Véase TXLSXDataValidation / TXLSXDataValidations
IgnoredErrorsMetadatos tipados de supresión de errores de la hoja de cálculo Cada TXLSXIgnoredError combina un SqRef multipersistencia separado por espacios en blanco con los indicadores 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 / AddImageFromFileAñade una imagen anclada a una celda. AddImage toma los bytes crudos más un TXLSXImageFormat; AddImageFromFile lee el archivo e infiere el formato a partir de su extensión. Equivale a Images.Add en la colección
AddConditionalFormat overloadsAñade una regla de formato condicional cellIs Equivale a ConditionalFormats.Add(...)
AddCondFormatExpression / text / rank / average / duplicate / blank / error helpersAñade reglas de formato condicional especializadas para fórmulas, coincidencia de texto, clasificaciones superiores/inferiores, valores por encima o por debajo de la media, 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 validationsAñade validaciones completas de números enteros con soporte de rango o criterios
ProtectedRangesColección de rangos de celdas protegidos que exigen autenticación por contraseña en la hoja
RawWorksheetExtsExpone los datos crudos de la lista de extensiones de la hoja para inyección XML directa
SparklineGroups / AddSparklineGroupGestiona minigráficos sparkline en línea dentro de celdas. AddSparklineGroup crea un grupo que referencia un rango de datos
ThreadedComments / AddThreadedComment / AddThreadedReplyDa soporte a conversaciones modernas de comentarios encadenados (respuestas). AddThreadedComment crea una conversación de comentario encadenado de nivel superior, y AddThreadedReply añade una respuesta
AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChartAtajos de gráficos de Excel. AddChartFromRange crea un gráfico anclado directamente a partir de los datos de las celdas
GetSheetProtectOption / SetSheetProtectOptionLee o establece mediante programación indicadores concretos de permiso de protección de hoja
PasteFromClipboardPega el contenido del portapapeles directamente a partir de las coordenadas especificadas
AlignWithMarginsEspecifica si los márgenes de página se alinean con el contenido de la hoja de cálculo
CodeNameEspecifica el nombre de código VBA de la hoja
ConsolidateXmlExpone los datos XML consolidados en crudo
DifferentFirstActiva un encabezado y pie independientes para la primera página
DifferentOddEvenActiva encabezados y pies independientes para páginas pares e impares
EvenFooterText / EvenHeaderTextCadenas de texto para los encabezados y pies de las páginas pares
FirstFooterText / FirstHeaderTextCadenas de texto para los encabezados y pies de la primera página
FirstPageNumberNúmero de la primera página impresa
GridColorColor de las líneas de cuadrícula de la hoja
HorizontalDpi / VerticalDpiResoluciones DPI de impresión para los ejes horizontal y vertical
OutlineLevelCol / OutlineLevelRowNivel de esquema por defecto para columnas y filas
PaneStateEstado de desplazamiento del panel inmovilizado
PhoneticAlignment / PhoneticFontId / PhoneticTypeAlineación de texto fonético ruby CJK, índice de fuente y tipo fonético
PrintErrorsComportamiento de impresión de los errores de celda
ScaleWithDocEscala encabezados y pies junto con la escala del documento
ScenariosColección tipada del Administrador de escenarios What-If Cada escenario posee de una a 32 celdas de entrada y admite su nombre, los estados bloqueado y oculto, metadatos de usuario y comentario, valores almacenados, formatos de número e indicadores de eliminado o deshecho CurrentIndex, ShownIndexy SqRef exponen el estado del Administrador de escenarios a nivel de hoja de cálculo
ScenariosXmlContenido XML de los escenarios What-If cuando la colección Scenarios está vacía
SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCountPropiedades criptográficas para los hashes de contraseña de protección de hoja modernos
ShowFormulasMuestra las fórmulas en lugar de los valores
ShowOutlineSymbolsMuestra los símbolos de los grupos de esquema
SortState / SortStateXmlCriterios de ordenación tipados y contenido XML de ordenación verbatim
SummaryBelow / SummaryRightPosición de las filas y columnas de resumen del esquema
UseFirstPageNumberUsa un inicio explícito de numeración de páginas
UsePrinterDefaultsUsa los ajustes DEVMODE por defecto de la impresora
ZeroHeightOculta por defecto las filas recién insertadas
ZoomNormal / ZoomPageLayout / ZoomSheetLayoutValores de nivel de zoom para las vistas normal, de diseño de página y de salto de página
AddWordArtAñade una forma de texto WordArt a la hoja de cálculo
BuildRowMajorCellOrderOptimiza el almacenamiento de celdas de forma secuencial para iteración por filas
ClearRawDrawingAnchorsLimpia todas las anclas XML de formas de dibujo sin mapear
CreateConditionalFormatEvaluatorCrea una instancia de un motor de utilidad de evaluación de formato condicional
RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchorGestiona anclas XML de formas de dibujo sin mapear y sin procesar AddRawDrawingAnchor añade un bloque <xdr:...Anchor> completo preservado verbatim para el round-trip y devuelve el nuevo TXLSXDrawingObject
BringToFront / SendToBack / BringForward / SendBackwardReordenan 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
SaveAsPDFExporta la hoja de cálculo a un archivo o stream PDF
TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevelConsultan o cambian de forma idempotente los nodos de resumen de filas y columnas conscientes de la dirección a través del modelo de esquema disperso compartido; vea Geometría de esquema dispersa
ToggleColGrouped / ToggleRowGroupedAlterna el estado contraído de la agrupación de columnas o filas

Ediciones de reglas de eje completo y copias de rangos

Desde la versión 2.384.77, las áreas de destino de formato condicional y de validación de datos aceptan filas y columnas enteras durante las ediciones estructurales y la clonación de dependencias; las ediciones normalizan las áreas válidas, retienen las extensiones completas de la cuadrícula y descartan los destinos cuyas filas o columnas se eliminan
Las copias de celdas de filas, columnas y hojas enteras recorren las celdas almacenadas, conservan la limpieza dispersa del destino y capturan el contenido del origen antes de limpiar un destino solapado; copiar un rango en blanco de eje completo no materializa sus coordenadas vacías
Las copias entre libros siguen remapeando el formato y el texto enriquecido por valor, y las copias completas frente a las parciales de matrices CSE conservan sus contratos de fórmula existentes
Desde la versión 2.384.78, las copias de rangos de celdas también capturan las superposiciones de estilo virtual que se cruzan antes de la mutación, recortan las superposiciones explícitas del destino al rectángulo copiado y remapean cada parte de formato copiada entre libros, incluidos los restablecimientos explícitos al índice cero
Los valores predeterminados de destino de eje completo siguen siendo compactos y se enmascaran dentro del rectángulo copiado antes de aplicar las capas del origen; copiar un origen en blanco limpia el formato de superposición explícito previo dentro de ese rectángulo, retiene el formato fuera de él y no crea una celda por cada coordenada cubierta
Las reglas condicionales y de validación clonadas requieren que todas las áreas de destino estén contenidas en el rectángulo de origen; las reglas que solo se cruzan con él se omiten, y un destino que se extienda más allá de la cuadrícula de la hoja se rechaza antes de copiar
Los estilos finitos de celdas en blanco repetidas importados de ODS contribuyen con ambos extremos al rango usado; las superposiciones de estilo predeterminado de filas, columnas y hojas enteras no lo extienden solo porque cubren coordenadas vacías

Ejemplo

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;
    

Véase también