HotXLS-Doku

TXLSXWorksheet-Klasse

Single worksheet inside a TXLSXWorkbook Besitzt die Zellensammlung sowie die Sammlungen für verbundene Zellen, Hyperlinks und Kommentare. Deklariert in lxHandleX

Deklaration

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;
      

Member

NameWorksheet tab name as shown by Excel
SetWorkbook / WorkbookSetzt die Arbeitsmappen-Rückreferenz und legt sie offen; Zell- und arbeitsmappengemeinsame Helfer wie gemeinsame Zahlenformate, Füllungen, Rahmen und Shared-String-Lookups greifen darauf zu
CellsCell collection. Use Cells.Item[Row, Col].Value See TXLSXCells / TXLSXCell
CalculateKompiliert und wertet einen Excel-Formelstring im Kontext dieses Arbeitsblatts aus Ein führendes = wird akzeptiert, und arbeitsblattlokale Referenzen, referenzierte Formelzellen, blattübergreifende Referenzen, Bereiche definierter Namen sowie unterstützte Text-, Datums-, Arbeitstag-, Technik-/Basiskonvertierungs-, Bitoperations-, Statistik-, Aggregat- und Mathematikfunktionen werden vom gemeinsamen Formelauswerter der Arbeitsmappe aufgelöst
GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / CheckDataValidationGetCellVisibleFormat löst den effektiven Style an einer Koordinate auf, ohne eine Leerzelle zu erzeugen. Subtotal gruppiert ein sortiertes Rechteck nach Wechseln einer absoluten Arbeitsblattspalte, akzeptiert die Excel- SUBTOTAL -Funktionsnummern 1 bis 11 bzw. 101 bis 111, fügt Formel- und Gliederungszeilen ein und liefert die Anzahl der eingefügten Zeilen. SubtotalDefaultEnglishString bildet eine SUBTOTAL -Funktionsnummer auf ihren englischen Namen ab (zum Beispiel 1 auf Average und 9 auf Total). CheckDataValidation liefert -1 für einen gültigen Kandidaten oder die 1-basierte erste verletzende Regel und schreibt nur, wenn SetIfValid true ist und alle anwendbaren Regeln erfüllt sind
ForEachCell / ForEachFormattedCell / ForEachRow / FindText / ReplaceText / WriteCells / WriteRowsHelfer für das Scannen geladener Zellen und Zeilen, Textsuche, Textersetzung und Bereichsfüllung. ForEachCell läuft in Zeilenreihenfolge über vorhandene Zellen und liefert Wert und Formeltext. ForEachFormattedCell läuft in Zeilen-/Spaltenreihenfolge über die befüllten Zellen und liefert den Anzeigetext jeder Zelle mit angewandtem Zahlenformat; zurückgegeben wird die besuchte Anzahl, ein Abbruch über den Callback wird respektiert. ForEachRow läuft in Zeilenreihenfolge über vorhandene Zeilen und meldet die erste und letzte geladene Spalte jeder Zeile. FindText und ReplaceText durchsuchen geladene Textzellen in Zeilenreihenfolge, überspringen Formeln und Nicht-Text-Werte und können auf Groß- und Kleinschreibung achten; Options-Overloads ergänzen die Semantik des Excel-Suchdialogs (Wildcards, ganze Zelle, Groß-/Kleinschreibung, Suche im Formeltext, Rückwärtssuche, spaltenweiser Scan), und FindTextIn / ReplaceTextIn beschränken den Scan auf ein rechteckiges Fenster mit optionalem Replace-Callback pro Treffer. WriteCells fordert Werte für einen numerischen oder A1-style-Bereich an und unterstützt Skip und Abbruch pro Zelle. WriteRows fordert je Zeile ein Variant -Array an und unterstützt Skip und Abbruch für die ganze Zeile
MergedCellsMerged-range collection. See TXLSXMergedCells
HyperlinksHyperlink collection. See TXLSXHyperlinks
CommentsCell-comment collection. See TXLSXComments
Tables / AddTableExcel-style table band on the worksheet. See TXLSXTable / TXLSXTables
Charts / AddChartAnchored chart collection. See TXLSXChart / TXLSXCharts Der Diagrammtyp-Enum unterstützt Säulen-, Balken-, Linien-, Kreis-, Flächen-, Ring-, Punkt-, Blasen- und Netzdiagramme Für ein seitengroßes Diagramm verwenden Sie Workbook.AddChartSheet(...)
AddTextBox / TextBoxCount / TextBox / FindTextBoxAtErstellt, zählt auf, findet, löscht und leert eigenständige Textfeld-Zeichnungen, die an Zellrechtecke verankert sind IndexOfTextBoxAt and FindTextBoxAt locate the first text box containing a cell, while DeleteTextBoxAt, DeleteTextBoxesInRange, DeleteTextBox, and ClearTextBoxes remove individual or grouped text boxes without touching cell comments
AddHyperlinkToCell overloadsInternal anchor hyperlink — jumps to a Sheet!Cell location elsewhere in the workbook. No rels relationship is generated. See TXLSXHyperlink.Location
RowOutlineLevel / ColOutlineLevelGroup nesting level (0..7) for the matching row or column. SaveAs emits outlineLevel="N" on the row / col entry
RowHidden / ColHiddenBoolean — drops the row or column from view (hidden="1")
RowCollapsed / ColCollapsedBoolean — marks a row / column whose grouping parent is collapsed (collapsed="1")
FreezePanes(Row, Col) / UnfreezePaneSets a frozen split — the top Row rows and left Col columns stay visible while the remainder scrolls. FreezeCol and FreezeRow are read-only properties exposing the current split
SetPageMargins / Page setup propertiesAll six margins plus PageLandscape, PaperSize, PageScale, FitToWidth, FitToHeight, HeaderText, FooterText, LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter, CenterHorizontally, and CenterVertically. Setting any one triggers the corresponding <pageMargins>, <pageSetup>, and <headerFooter> blocks on SaveAs. Use the named xlsxPaper* constants such as xlsxPaperLetter, xlsxPaperA4, xlsxPaperA3, and xlsxPaperLegal instead of raw Excel paper-size codes when possible
VisibilitySheet visibility: xlsxSheetVisible (default), xlsxSheetHidden (hidden but unhideable in Excel UI), or xlsxSheetVeryHidden (requires VBA or code to unhide). SaveAs emits a state attribute on the <sheet> element in xl/workbook.xmlVisible is a Boolean convenience alias for common show or hide operations
SetIsSelected / IsSelectedWhen True, erscheint der Blatt-Reiter als ausgewählt (hervorgehoben). Mehrere Blätter können gleichzeitig ausgewählt sein. SaveAs erzeugt tabSelected="1" on the matching <sheetView>
AutoFitColumn / AutoFitColumnsAutoFitColumn(Col, MinWidth, MaxWidth) measures every cell in the column and sets ColWidth[Col] auf den breitesten Inhalt (ASCII = 1 Zeichen, CJK = 2 Zeichen, Calibri-11pt-Skala) und wendet dann optionale Mindest- und Höchstgrenzen für die Breite an AutoFitColumns(Min, Max, MinWidth, MaxWidth) iterates the column range, clamped to the last cell-bearing column
AutoFitRow / AutoFitRowsAutoFitRow(Row, MinHeight, MaxHeight) sets RowHeight[Row] auf den höchsten Zellinhalt dieser Zeile (in Punkten) und wendet dann optionale Mindest- und Höchstgrenzen für die Höhe an AutoFitRows(Min, Max, MinHeight, MaxHeight) iterates the row range, clamped to the last cell-bearing row
InsertRows / DeleteRowsInsertRows(BeforeRow, Count) shifts every row at BeforeRow or below down by Count. DeleteRows(StartRow, Count) removes rows [StartRow, StartRow+Count-1] und zieht den Rest nach oben. Beide wirken über Zellen, verbundene Bereiche, Zeilenhöhen, Gliederungsebenen, Ausgeblendet-Flags, Hyperlinks, Kommentare, Fixierung sowie Referenzen von AutoFilter, bedingter Formatierung und Datenüberprüfung, Tabellen, Zellformeln, Formeln bedingter Formate und der Datenüberprüfung, interne Hyperlink-Ziele, Druckeinrichtungs-Referenzen, manuelle Seitenumbrüche, AutoFilter-Spaltenkriterien, Diagrammreihen-Bereiche und definierte Namen, die auf das bearbeitete Arbeitsblatt verweisen, dazu Bildanker und Diagrammanker
InsertCols / DeleteColsSame as InsertRows / DeleteRows jedoch auf Spalten angewendet. Spaltenbreiten, Gliederungsebenen und Ausgeblendet-Flags werden ebenfalls aktualisiert
AddRowBreak / AddColBreakAddRowBreak(N) inserts a manual page break before row N (i.e. row N starts a new printed page). AddColBreak(N) breaks before column N. SaveAs writes <rowBreaks> / <colBreaks> in the sheet XML
HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreakQuery or locate a single manual break by its "before" index
RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRangeEntfernt einen manuellen Umbruch oder alle Umbrüche in einem einschließlichen Zeilen-/Spaltenintervall; die Bereichs-Helfer akzeptieren vertauschte Koordinaten und geben die Anzahl der entfernten Umbrüche zurück
ClearRowBreaks / ClearColBreaks / ClearAllPageBreaksRemove all row breaks, all column breaks, or both
RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i]Iterate stored break indices (1-based "Before" values)
KeepRowLinkLevel / KeepColLinkLevelLiefert den stärksten Keep-together-Level, der die Zeile (oder Spalte) nach dem gegebenen Index mit dem Block darüber (bzw. zur Linken) verknüpft, oder 0 , wenn die Position nicht in einem Keep-together-Block liegt
PrintGridlines / PrintHeadingsWhen True, SaveAs emits printGridLines="1" / printRowColHeadings="1" inside <printOptions> so row/column grid lines or headings appear on the printed page
BlackAndWhite / Draft / PrintNotes / PrintOverThenDownPrint options in <pageSetup>: BlackAndWhite renders in B&W; Draft suppresses graphics for faster preview; PrintNotes prints cell comments as displayed; PrintOverThenDown switches page order to left-to-right-first instead of top-to-bottom-first
PrintAreaThe rectangular region Excel prints (e.g "$A$1:$D$10"). Written as a workbook-level <definedName name="_xlnm.Print_Area"> scoped to this sheet. Empty string = not set
PrintTitleRows / PrintTitleColsRow or column ranges that repeat on every printed page (e.g. "$1:$3" or "$A:$B"). Written as <definedName name="_xlnm.Print_Titles">
SetAutoFilter / AutoFilterRangeSets the filter range (e.g "A1:C100"); SaveAs writes <autoFilter ref="..."/>
AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumnsPer-column filter criteria attached to the auto-filter range. AddAutoFilterColumn(ColId, Op, Criteria) adds a single-criterion filter; the two-criteria overload adds an AND/OR pair AutoFilterColumns.FindByColId(ColId) returns an existing criteria object, and AutoFilterColumns.DeleteByColId(ColId) removes one without scanning Items manually, and AutoFilterColumns.ClearCriteria clears all column criteria while preserving the filter range ColId ist der nullbasierte Offset innerhalb des AutoFilter-Bereichs (nicht die Blattspalte). SaveAs schreibt <filterColumn> children inside <autoFilter>
AutoFilterRowVisible / PreviewAutoFilterRows / ApplyAutoFilterAutoFilterRowVisible(Row) evaluates the stored XLSX AutoFilter criteria for one data row. PreviewAutoFilterRows walks the data rows in AutoFilterRange, meldet den Sichtbarkeitszustand jeder Zeile über einen Rückruf, gibt die Anzahl der besuchten sichtbaren Zeilen zurück und ändert keine Ausgeblendet-Flags von Zeilen ApplyAutoFilter wendet die AutoFilter-Kriterien an, blendet Zeilen ohne Treffer aus und gibt zurück, ob der Vorgang erfolgreich war
Protect / UnProtect / IsProtectedSchalter für den Schutz auf Blattebene mit optionalem 16-Bit-Legacy-Passwort-Hash. Abgebildet als <sheetProtection>
AllowOption / SheetProtectionOptions15 feinkörnige Schutzberechtigungen (etwa Zellen formatieren, Zeilen/Spalten einfügen, Sortieren, AutoFilter verwenden, gesperrte/ungesperrte Zellen auswählen usw.), entsprechend der Berechtigungsliste von Excels "Blatt schützen"
PageSetupTouched / SheetProtectHashUse PageSetupTouched to inspect whether page setup values were explicitly modified, and SheetProtectHash zum Lesen und Schreiben des Legacy-16-Bit-Blattschutz-Hash-Texts, den Legacy-XLS-Dateiformate verwenden
AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormatMethoden zum Erstellen, Kopieren und Formatieren von PivotTables. AddPivotTable baut aus einem A1-Quellbereich wie 'Data!A1:C9' eine PivotTable auf und verankert sie an der 1-basierten Zelle DestRow, DestCol; bei einer fehlerhaften Quelle oder einem Anker außerhalb des Blatts liefert sie nil. AddPivotTableCopy kopiert eine vorhandene PivotTable — aus dieser oder einer anderen Arbeitsmappe — als Deep-Copy an einen neuen 1-basierten Anker auf diesem Arbeitsblatt (ein leerer NewName ergibt '<source> (2)'). PivotSetDataFieldFormat registriert ein Zahlenformat für ein Datenfeld und liefert dessen Zahlenformat-Index zurück
PivotTablesCollection of pivot tables defined on this worksheet
MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCMPage setup margins represented in centimeters
TabColor / TabColorIsAutoARGB-Farbe für den Arbeitsblatt-Tab in Excel; eine Zuweisung von TabColor setzt TabColorIsAuto auf False TabColorIsAuto = True (Standard) unterdrückt das <tabColor>-Kind von <sheetPr>
IsChartSheetWhen True, SaveAs writes the sheet to xl/chartsheets/sheetN.xml instead of xl/worksheets/sheetN.xml and hosts Charts[0] full-page. Use the Workbook.AddChartSheet(...) helper for the typical setup
ViewWorksheet view mode. Values are xlsxNormalView, xlsxPageBreakPreview, and xlsxPageLayoutView. SaveAs writes the corresponding view attribute on <sheetView>; Open reads it back
ZoomSheet view zoom percentage (10–400; default 100, clamped on assignment). Emits zoomScale="N" inside <sheetView>; default is suppressed so untouched sheets stay clean
DisplayGridLinesWhen False, hides the cell grid lines in the sheet view. Default True. Emits showGridLines="0" when False
DisplayZerosWhen False, cells with a zero value render as blank instead of "0". Default True. Emits showZeros="0" when False
DisplayRightToLeftWhen True, wird das Blatt im Rechts-nach-links-Layout angezeigt (Spalte A rechts), geeignet für arabischen oder hebräischen Text. Erzeugt rightToLeft="1"
StandardWidthStandard-Spaltenbreite in Excel-Zeicheneinheiten (z. B. 8.43 = eingebauter Standardwert). Ein Wert > 0 erzeugt <sheetFormatPr defaultColWidth="..."/>0 = unset (element suppressed)
StandardHeightStandard-Zeilenhöhe in Punkten (z. B. 15 = eingebauter Standardwert). Ein Wert > 0 erzeugt defaultRowHeight="..." on <sheetFormatPr>0 = unset
ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRangeZellbereichs-Operationen. CopyRange und CopyRangeTo duplizieren Werte, Formeln, Stilindizes und Rich-Text-Payloads; CopyFrom dupliziert den gesamten Inhalt und die Einstellungen des Arbeitsblatts (einschließlich verbundener Zellen, Seiteneinrichtung, Ansichtszustand, AutoFiltern usw.); diese drei kopieren nur den Zellinhalt, sodass Kommentare zurückbleiben, und CloneRangeTo oder Sheets.AddCopy nimmt Kommentare mit ihren Rich-Text-Runs mit; MoveRange überspringt Überlappungen mit dem Ziel; SortRange sortiert ganze Zeilen innerhalb eines Rechtecks nach einer oder mehreren absoluten Schlüsselspalten; ClearRange entfernt Zellen; ClearRangeValues löscht Werte und Formeln und behält die Stilindizes bei
Range / RCRange / UsedRangeReturn sheet-owned TXLSXRange Wrapper für A1-Referenzen, einsbasierte numerische Koordinaten oder den gesamten belegten Bereich des Arbeitsblatts TXLSXRange.SaveAsHTML(FileName) and TXLSXRange.SaveAsHTML(Stream) um nur den ausgewählten Bereich als UTF-8-HTML-Tabelle zu exportieren. Bereichs-Wrapper bieten außerdem Batch-Werte, Formeln, Stilindizes, Zahlenformate, Rahmen, Schutz-Flags, AutoFit, Verbinden, Offset, Größenanpassung, Sortierung nach mehreren Schlüsseln, eingebaute Zellstile, Kopieren/Verschieben sowie Helfer zum Einfügen und Löschen ganzer Zeilen oder Spalten
EntireRow / EntireColumnGibt für den angegebenen Index ganze Zeilen oder ganze Spalten als Bereiche zurück, geeignet für strukturelle Operationen oder die Weitergabe von Stilen
MergeCells(R1, C1, R2, C2)Fügt ein verbundenes Rechteck hinzu und gibt den neuen Eintragsindex zurück. Koordinaten sind einsbasiert und an beiden Enden einschließend. Äquivalent zu MergedCells.Add(R1, C1, R2, C2). For range-style code, Range['A1:C3'].Merge(True) writes one merged range per row, matching Excel's merge-across command
FillMergedCellValuesKopiert den Ankerwert jedes Verbunds in alle abgedeckten Mitgliedzellen, sodass berichtartige Blätter danach wie ein flaches Raster lesbar sind. Leere oder null-Anker werden übersprungen, vorbelegte Verbunde behalten also ihren eigenen Inhalt; zurückgegeben wird die Anzahl der gefüllten Zellen
FormControlsSammlung der Formularsteuerelemente des Arbeitsblatts (Schaltflächen, Kontrollkästchen, Optionsfelder, Kombinationsfelder, Listenfelder), erzeugt von der Helper-Familie AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox . Jeder Eintrag legt Ankerrechteck, verknüpfte Zelle und Steuerelementtyp offen
AddHyperlink overloadsAdds an external URL hyperlink to a single cell Display and Tooltip are optional. Equivalent to Hyperlinks.Add(...)
AddComment overloadsAdds a comment to a single cell. Author is optional. Equivalent to Comments.Add(...)
ColWidth[Col]Spaltenbreite in Excel-Einheiten (dieselbe Skala wie im Dialog für Excel-Spaltenbreiten). Das Lesen einer nicht gesetzten Spalte liefert 0; assigning a value sets the width for that 1-based column. SaveAs emits one <col> entry per customized column; Open replays the <cols> block back into the map
RowHeight[Row]Zeilenhöhe in Punkten (dieselbe Skala wie im Dialog für Excel-Zeilenhöhen). Das Lesen einer nicht gesetzten Zeile liefert 0; assigning a value sets the height for that 1-based row. SaveAs writes the ht and customHeight="1" attributes on each <row> with a custom height, even rows that carry only a height with no cell data
SetColWidth / SetRowHeightDirekte Setter, die von den obigen indizierten Eigenschaften verwendet werden Als benannte Methoden für Aufrufer bereitgestellt, die die Eigenschaftssyntax nicht verwenden möchten
HasColWidth / HasRowHeightGibt zurück True , wenn das Arbeitsblatt eine angepasste Breite oder Höhe für den angegebenen Index hat. Damit lässt sich "nicht gesetzt" von einem bewusst gesetzten 0 value
ClearColWidths / ClearRowHeightsDrops every customized width or height back to the Excel default
ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsedSetzt alle Überschreibungen für ausgeblendete oder eingeklappte Zeilen und Spalten auf den Standardzustand sichtbar und ausgeklappt zurück
ImagesImage collection. Use AddImage / AddImageFromFile as the convenience entry points. See TXLSXImage / TXLSXImages
HeaderFooterImagesTypisierte Kopf- und Fußzeilen-Bildslots für ungerade, gerade und erste Seite mit unabhängigen Eigenschaften für Position, Größe, Rand, Format, Daten und Titel. Siehe TXLSXHeaderFooterImage / TXLSXHeaderFooterImages
ConditionalFormatsConditional formatting rules for this worksheet Use AddConditionalFormat as the convenience entry See TXLSXConditionalFormat / TXLSXConditionalFormats
DataValidationsData-validation rules for this worksheet. Use AddDataValidation / AddListValidation as the convenience entries. See TXLSXDataValidation / TXLSXDataValidations
IgnoredErrorsTypisierte Metadaten zur Fehlerunterdrückung des Arbeitsblatts. Jede TXLSXIgnoredError kombiniert eine leerzeichengetrennte SqRef mit mehreren Bereichen mit den Standard-Flags für Auswertungsfehler, Datum, gespeicherte Zahl, Formel, ungesperrte Formel, Leerreferenz, Datenüberprüfung und berechnete Spalte. Einträge überleben Arbeitsblattkopien sowie Open/Save-Roundtrips und folgen dem Einfügen oder Löschen von Zeilen und Spalten
AddImage / AddImageFromFileAdds an image anchored to a cell. AddImage takes the raw bytes plus a TXLSXImageFormat; AddImageFromFile liest die Datei und leitet das Format aus der Dateierweiterung ab. Äquivalent zu Images.Add on the collection
AddConditionalFormat overloadsAdds a cellIs conditional-formatting rule Equivalent to ConditionalFormats.Add(...)
AddCondFormatExpression / text / rank / average / duplicate / blank / error helpersFügt spezialisierte Regeln für die bedingte Formatierung hinzu: für Formeln, Texttreffer, oberste/unterste Ränge, über- oder unterdurchschnittliche Werte, doppelte oder eindeutige Werte, leere Zellen, nicht leere Zellen, Fehler und keine Fehler. Der zurückgegebene Index lässt sich mit ConditionalFormats[Index].Style to attach formatting
AddWholeNumberValidation / AddWholeNumberValidation overloads / Whole whole-number validationsAdds entire wholesale whole number validations with range or criteria support
ProtectedRangesCollection of protected cell ranges requiring password authentication in the sheet.
RawWorksheetExtsExposes raw worksheet extension list data for direct XML injection.
SparklineGroups / AddSparklineGroupManage inline mini sparkline charts within cells. AddSparklineGroup creates a group referencing a data range.
ThreadedComments / AddThreadedComment / AddThreadedReplySupport modern threaded comment conversations (replies). AddThreadedComment creates a top-level threaded comment conversation, and AddThreadedReply appends a reply.
AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChartExcel charting shortcuts. AddChartFromRange creates an anchored chart directly from cell data.
GetSheetProtectOption / SetSheetProtectOptionGet or set specific sheet protection permission flags programmatically.
PasteFromClipboardFügt Inhalte aus der Zwischenablage direkt ab den angegebenen Koordinaten ein
AlignWithMarginsGibt an whether page margins align with worksheet contents
CodeNameGibt an the VBA sheet code name
ConsolidateXmlExposes raw consolidated XML data
DifferentFirstEnables separate first-page header/footer
DifferentOddEvenEnables separate odd/even page headers/footers
EvenFooterText / EvenHeaderTextText strings for even-page headers and footers
FirstFooterText / FirstHeaderTextText strings for first-page headers and footers
FirstPageNumberFirst page print number
GridColorSheet gridline color
HorizontalDpi / VerticalDpiPrint DPI resolutions for horizontal and vertical axes
OutlineLevelCol / OutlineLevelRowDefault outline level for columns and rows
PaneStatePane frozen scroll state
PhoneticAlignment / PhoneticFontId / PhoneticTypeCJK phonetic ruby text alignment, font index, and phonetic type
PrintErrorsCell error printing behavior
ScaleWithDocScales headers/footers with document scale
ScenariosTypisierte Sammlung des What-If-Szenario-Managers. Jedes Szenario besitzt ein bis 32 Eingabezellen und unterstützt Name, gesperrte und ausgeblendete Zustände, Benutzer- und Kommentar-Metadaten, gespeicherte Werte, Zahlenformate sowie gelöschte oder zurückgenommene Flags. CurrentIndex, ShownIndexund SqRef legen den Szenario-Manager-Zustand auf Arbeitsblattebene offen
ScenariosXmlWhat-If scenario XML contents Scenarios collection is empty
SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCountCryptographic properties for modern sheet-protection password hashes
ShowFormulasShows formulas instead of values
ShowOutlineSymbolsShows outline group symbols
SortState / SortStateXmlTyped sorting criteria and verbatim sort XML contents
SummaryBelow / SummaryRightOutlines summary row and column position
UseFirstPageNumberUses explicit page numbering start
UsePrinterDefaultsUses printer-default DEVMODE settings
ZeroHeightHides newly inserted rows by default
ZoomNormal / ZoomPageLayout / ZoomSheetLayoutZoom level values for normal, page layout, and page break views
AddWordArtAdds a WordArt text shape control to the worksheet
BuildRowMajorCellOrderOptimizes cell storage sequentially for row-major iteration
ClearRawDrawingAnchorsClears all raw unmapped drawing shape XML anchors
CreateConditionalFormatEvaluatorInstantiates a conditional formatting evaluation utility engine
RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchorVerwaltet rohe, nicht gemappte Drawing-Shape-XML-Anker. AddRawDrawingAnchor hängt einen vollständigen <xdr:...Anchor> -Block an, der für den Roundtrip wortgetreu erhalten bleibt, und liefert das neue TXLSXDrawingObject
BringToFront / SendToBack / BringForward / SendBackwardOrdnet ein Drawing-Objekt in der Z-Ordnung des Blatts neu: BringToFront setzt es über alle anderen Zeichnungen, SendToBack unter alle anderen, und die Varianten Forward / Backward verschieben es um eine Position
SaveAsPDFExports the worksheet to a PDF file or stream
TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevelAbfragen oder idempotentes Ändern richtungsbewusster Zeilen- und Spaltensummmerknoten über das gemeinsame sparse Outline-Modell; siehe Dünn besetzte Gliederungsgeometrie
ToggleColGrouped / ToggleRowGroupedToggles column or row grouping collapsed state

Regeländerungen über volle Achsen und Bereichskopien

Seit 2.384.77 akzeptieren Zielbereiche der bedingten Formatierung und Datenüberprüfung ganze Zeilen und Spalten bei strukturellen Änderungen und Abhängigkeitsklonungen; Änderungen normalisieren gültige Bereiche, behalten vollständige Rasterausdehnungen bei und verwerfen Ziele, deren Zeilen oder Spalten entfernt wurden
Zellkopien ganzer Zeilen, ganzer Spalten und ganzer Arbeitsblätter besuchen gespeicherte Zellen, behalten das Sparse-Leeren des Ziels bei und erfassen die Quellinhalte, bevor ein überlappendes Ziel geleert wird; das Kopieren eines leeren Vollachsen-Bereichs macht dessen leere Koordinaten nicht zu realen Zellen
Arbeitsmappenübergreifende Kopien mappen Formatierung und Rich Text weiterhin by value um, und vollständige gegenüber teilweisen CSE-Array-Kopien behalten ihre vorhandenen Formelverträge
Seit 2.384.78 erfassen Zellbereichskopien auch sich überschneidende virtuelle Stil-Overlays vor der Mutation, schneiden explizite Ziel-Overlays auf das kopierte Rechteck zu und mappen jeden kopierten Formatierungsteil arbeitsmappenübergreifend um, einschließlich expliziter Zurücksetzungen auf Index null
Standardwerte des Ziels über ganze Achsen bleiben kompakt und werden innerhalb des kopierten Rechtecks maskiert, bevor die Quellebenen angewendet werden; das Kopieren einer leeren Quelle löscht frühere explizite Overlay-Formatierung innerhalb dieses Rechtecks, behält Formatierung außerhalb bei und erzeugt keine Zelle für jede abgedeckte Koordinate
Geklonte Regeln für bedingte Formatierung und Datenüberprüfung verlangen, dass alle Zielbereiche im Quellrechteck enthalten sind; Regeln, die es nur schneiden, werden übersprungen, und ein Ziel, das über das Arbeitsblattraster hinausreicht, wird vor dem Kopieren abgelehnt
Endlich wiederholte Leerzellenstile aus ODS-Importen tragen beide Endpunkte zum benutzten Bereich bei; Overlays mit Standardstilen für ganze Zeilen, ganze Spalten und ganze Arbeitsblätter erweitern ihn nicht nur deshalb, weil sie leere Koordinaten abdecken

Beispiel

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;
    

Siehe auch