HotXLS-documentatie

TXLSXWorksheet class

Single worksheet inside a TXLSXWorkbook Is eigenaar van de celverzameling plus de verzamelingen voor samengevoegde cellen, hyperlinks en opmerkingen. Gedeclareerd in lxHandleX

Declaration

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;
      

Members

NameWorksheet tab name as shown by Excel
SetWorkbook / WorkbookZet de terugverwijzing naar de werkmap die wordt gebruikt door cel- en werkmapbrede hulpfuncties zoals gedeelde getalnotaties, vullingen, randen en shared-string-opzoekingen, en stelt die beschikbaar
CellsCell collection. Use Cells.Item[Row, Col].Value See TXLSXCells / TXLSXCell
CalculateCompileert en evalueert een Excel-formulestring in deze werkbladcontext Een voorafgaand = wordt geaccepteerd, en werkbladlokale verwijzingen, gerefereerde formulecellen, verwijzingen over werkbladen heen, gedefinieerde-naambereiken en ondersteunde tekst-, datum-, werkdag-, techniek/basisconversie-, bitwise-, statistiek-, aggregaat- en wiskundefuncties worden opgelost door de gedeelde formule-evaluator van de werkmap
GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / CheckDataValidationGetCellVisibleFormat herleidt de effectieve stijl op een coördinaat zonder een lege cel aan te maken. Subtotal groepeert een gesorteerde rechthoek op wijzigingen in een absolute werkbladkolom, accepteert Excel-functienummers SUBTOTAL 1 t/m 11 of 101 t/m 111, voegt formule- en outline-rijen in en geeft het aantal ingevoegde rijen terug. SubtotalDefaultEnglishString wijst een SUBTOTAL -functienummer toe aan zijn Engelse naam (bijvoorbeeld 1 aan Average en 9 aan Total). CheckDataValidation geeft -1 terug voor een geldige kandidaat of de op 1 gebaseerde index van de eerste mislukte regel, en legt alleen vast wanneer SetIfValid true is en alle toepasselijke regels slagen
ForEachCell / ForEachFormattedCell / ForEachRow / FindText / ReplaceText / WriteCells / WriteRowsHulpfuncties voor het scannen van geladen cellen en rijen, tekstzoeken, tekstvervangen en bereikvulling. ForEachCell loopt bestaande cellen in rijvolgorde door met waarde en formuletekst. ForEachFormattedCell loopt gevulde cellen in rij-/kolomvolgorde door en levert de weergavetekst van elke cel met toegepaste getalnotatie; geeft het aantal bezochte cellen terug en houdt rekening met callback-annulering. ForEachRow Hulpfuncties voor het scannen van geladen cellen en rijen, tekstzoekacties, tekstvervanging en het vullen van bereiken. FindText loopt bestaande cellen in rijvolgorde door met waarde en formuletekst. ReplaceText loopt bestaande rijen in rijvolgorde af en meldt per rij de eerste en laatste geladen kolommen. FindTextIn and ReplaceTextIn scan loaded text cells in row order, skip formulas and non-text values, and can match case sensitively. WriteCells vraagt waarden op voor een numeriek bereik of een bereik in A1-stijl en ondersteunt overslaan per cel en annulering. WriteRows requests a Variant array for each row and supports whole-row skip and cancellation
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 De grafiektype-enum ondersteunt kolom-, staaf-, lijn-, cirkel-, vlak-, ring-, spreidings-, bel- en radargrafieken Gebruik voor een grafiek over de hele pagina Workbook.AddChartSheet(...)
AddTextBox / TextBoxCount / TextBox / FindTextBoxAtMaakt, enumereert, lokaliseert, verwijdert en wist zelfstandige tekeningtekstvakken die aan celrechthoeken verankerd zijn 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, wordt de werkbladtab weergegeven als geselecteerd (gemarkeerd). Meerdere bladen kunnen tegelijk geselecteerd zijn. SaveAs emiteert tabSelected="1" on the matching <sheetView>
AutoFitColumn / AutoFitColumnsAutoFitColumn(Col, MinWidth, MaxWidth) measures every cell in the column and sets ColWidth[Col] naar de breedste inhoud (ASCII = 1 teken, CJK = 2 tekens, Calibri 11pt-schaal), en past daarna optionele minimale en maximale breedtelimieten toe AutoFitColumns(Min, Max, MinWidth, MaxWidth) iterates the column range, clamped to the last cell-bearing column
AutoFitRow / AutoFitRowsAutoFitRow(Row, MinHeight, MaxHeight) sets RowHeight[Row] naar de hoogste celinhoud in die rij (in punten), en past daarna optionele minimale en maximale hoogtelimieten toe 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] en trekt de rest omhoog. Beide cascade-doorwerking loopt door cellen, samengevoegde bereiken, rijhoogten, overzichtsniveaus, verborgenstatus, hyperlinks, opmerkingen, het bevroren venster, auto-filter- / voorwaardelijke-opmaak- / gegevensvalidatieverwijzingen, tabellen, celformules, voorwaardelijke-opmaak- en gegevensvalidatieformules, interne hyperlinkdoelen, pagina-instellingsverwijzingen, handmatige pagina-eindes, autofilter-kolomcriteria, grafiekseriebereiken en gedefinieerde namen die naar het bewerkte werkblad wijzen, plus afbeeldingsankers en grafiekankers
InsertCols / DeleteColsSame as InsertRows / DeleteRows maar dan voor kolommen. Kolombreedten, overzichtsniveaus en verborgenstatus worden ook bijgewerkt
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 / RemoveColBreaksInRangeVerwijdert één handmatig pagina-einde of alle pagina-eindes in een inclusief rij-/kolominterval; bereikhulpfuncties accepteren omgekeerde coördinaten en geven het aantal verwijderde pagina-eindes terug
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 / KeepColLinkLevelGeeft het sterkste bij-elkaarniveau terug dat de rij (of kolom) na de opgegeven index aan het blok erboven (of erlinks) koppelt, of 0 wanneer de positie niet binnen een bij-elkaar-blok ligt
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 is de op 0 gebaseerde offset binnen het auto-filterbereik (niet de werkbladkolom). SaveAs schrijft <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, meldt via een callback de zichtbaarheidsstatus van elke rij, geeft het aantal bezochte zichtbare rijen terug en wijzigt geen vlaggen voor verborgen rijen. ApplyAutoFilter past de autofiltercriteria toe, verbergt rijen die niet matchen en geeft terug of het gelukt is
Protect / UnProtect / IsProtectedSchakelaar voor beveiliging op werkbladniveau met een optionele 16-bit legacy-wachtwoordhash. Wordt weerspiegeld als <sheetProtection>
AllowOption / SheetProtectionOptions15 fijnmazige beveiligingsmachtigingsopties (zoals cellen opmaken, rijen/kolommen invoegen, sorteren, autofilter gebruiken, vergrendelde/ontgrendelde cellen selecteren enz.), overeenkomend met de machtigingenlijst in het dialoogvenster "Protect Sheet" van Excel
PageSetupTouched / SheetProtectHashUse PageSetupTouched to inspect whether page setup values were explicitly modified, and SheetProtectHash om de legacy 16-bit hashtekst voor werkbladbeveiliging te lezen/schrijven zoals die in legacy-XLS-bestandsindelingen wordt gebruikt
AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormatMethodes om draaitabellen te maken, te kopiëren en op te maken. AddPivotTable bouwt vanuit een A1-bronbereik zoals 'Data!A1:C9' een draaitabel op en verankert die op de 1-based cel DestRow, DestCol; bij een misvormde bron of een anker buiten het werkblad geeft de methode nil terug. AddPivotTableCopy kopieert een bestaande draaitabel — uit deze of een andere werkmap — als deep copy naar een nieuwe 1-based verankeringscel op dit werkblad (een lege NewName geeft '<source> (2)'). PivotSetDataFieldFormat registreert een getalnotatie voor een gegevensveld en geeft de index van die getalnotatie terug
PivotTablesCollection of pivot tables defined on this worksheet
MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCMPage setup margins represented in centimeters
TabColor / TabColorIsAutoARGB-kleur voor het tabblad van het werkblad in Excel; door TabColor toe te wijzen wordt TabColorIsAuto op False gezet. TabColorIsAuto = True (standaard) onderdrukt het <tabColor>-kind van <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, wordt het werkblad weergegeven in een rechts-naar-links-indeling (kolom A rechts), geschikt voor Arabische of Hebreeuwse tekst. Emiteert rightToLeft="1"
StandardWidthStandaardkolombreedte in Excel-tekeneenheden (bijv. 8.43 = de ingebouwde standaard). Een waarde > 0 instellen emiteert <sheetFormatPr defaultColWidth="..."/>0 = unset (element suppressed)
StandardHeightStandaardrijhoogte in punten (bijv. 15 = ingebouwde standaard). Een waarde > 0 instellen emiteert defaultRowHeight="..." on <sheetFormatPr>0 = unset
ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRangeCelbereikbewerkingen. CopyRange en CopyRangeTo kopiëren waarden, formules, stijlindexen en rich-text-payloads; CopyFrom dupliceert de volledige inhoud en instellingen van het werkblad (inclusief samengevoegde cellen, pagina-instelling, weergavestatus, autofilters enz.); deze drie kopiëren alleen de celinhoud, dus opmerkingen blijven achter, en CloneRangeTo of Sheets.AddCopy neemt opmerkingen met hun rich-text-runs mee; MoveRange slaat overlappende bestemmingen over; SortRange sorteert hele rijen binnen een rechthoek op een of meer absolute sleutelkolommen; ClearRange verwijdert cellen; ClearRangeValues wist waarden en formules maar behoudt de stijlindexen
Range / RCRange / UsedRangeReturn sheet-owned TXLSXRange wrappers voor A1-verwijzingen, numerieke coördinaten beginnend bij 1, of de verzameling gevulde werkbladcellen. TXLSXRange.SaveAsHTML(FileName) and TXLSXRange.SaveAsHTML(Stream) exporteert alleen het geselecteerde bereik als UTF-8 HTML-tabel. Bereikwrappers bieden ook batchgewijze waarden, formules, stijlindexen, getalnotaties, randen, beveiligingsvlaggen, auto-fit, samenvoegen, offset, resize, sorteren op meerdere sleutels, ingebouwde celstijlen, kopiëren/verplaatsen en hulpfuncties voor invoegen/verwijderen van hele rijen of kolommen
EntireRow / EntireColumnGeeft volledige rij- of kolombereiken terug voor de opgegeven index, geschikt voor structurele bewerkingen of het doorpropageren van stijlen
MergeCells(R1, C1, R2, C2)Voegt een samengevoegde rechthoek toe en geeft de nieuwe itemindex terug. Coördinaten beginnen bij 1 en zijn aan beide einden inclusief. Equivalent aan 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
FillMergedCellValuesKopieert de ankerwaarde van elk samengevoegd bereik naar elke gedekte cel, zodat rapportachtige werkbladen daarna als één plat raster lezen. Lege of null-ankers worden overgeslagen, dus eerder gevulde samenvoegingen behouden hun eigen inhoud, en het aantal gevulde cellen wordt teruggegeven
FormControlsCollectie van formulierbesturingselementen op het werkblad (knoppen, selectievakjes, radioknoppen, comboboxen, keuzelijsten), gemaakt met de helperfamilie AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox . Elke entry stelt de ankerrechthoek, de gekoppelde cel en het type besturingselement bloot
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]Kolombreedte in Excel-eenheden (dezelfde schaal die het dialoogvenster kolombreedte van Excel gebruikt). Een niet-ingestelde kolom geeft bij lezen 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]Rijhoogte in punten (dezelfde schaal die het dialoogvenster rijhoogte van Excel gebruikt). Een niet-ingestelde rij geeft bij lezen 0; stel je een waarde toe, dan wordt de hoogte voor die 1-based rij ingesteld. SaveAs schrijft de attributen ht en customHeight="1" op elke <row> met een aangepaste hoogte, ook rijen die alleen een hoogte zonder celgegevens dragen
SetColWidth / SetRowHeightDirecte setters, gebruikt door de geïndexeerde eigenschappen hierboven Aangeboden als benoemde methoden voor aanroepers die de eigenschapsyntaxis liever niet gebruiken
HasColWidth / HasRowHeightRetourneert True wanneer het werkblad voor de gegeven index een aangepaste breedte of hoogte heeft. Gebruik dit om "niet ingesteld" te onderscheiden van een expliciete 0 value
ClearColWidths / ClearRowHeightsDrops every customized width or height back to the Excel default
ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsedZet elke override voor verborgen/samengevouwen rijen of kolommen terug naar de standaardtoestand van zichtbaar en uitgevouwen
ImagesImage collection. Use AddImage / AddImageFromFile as the convenience entry points. See TXLSXImage / TXLSXImages
HeaderFooterImagesGetypeerde slots voor kop- en voetafbeeldingen voor oneven, even en de eerste pagina, met onafhankelijke eigenschappen voor positie, grootte, marge, indeling, data en titel. Zie 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
IgnoredErrorsGetypeerde metadata voor het onderdrukken van werkbladfouten Elke TXLSXIgnoredError combineert een door witruimte gescheiden multi-area SqRef met de standaardvlaggen voor evaluatie, datum, opgeslagen getal, formule, ontgrendelde formule, lege verwijzing, gegevensvalidatie en berekende kolom. Entries overleven werkbladkopieën en open/save-roundtrips, en hun bereiken volgen het invoegen of verwijderen van rijen en kolommen
AddImage / AddImageFromFileAdds an image anchored to a cell. AddImage takes the raw bytes plus a TXLSXImageFormat; AddImageFromFile leest het bestand en leidt het formaat af uit de extensie. Equivalent aan Images.Add on the collection
AddConditionalFormat overloadsAdds a cellIs conditional-formatting rule Equivalent to ConditionalFormats.Add(...)
AddCondFormatExpression / text / rank / average / duplicate / blank / error helpersVoegt gespecialiseerde regels voor voorwaardelijke opmaak toe voor formules, tekstmatching, boven-/onderste rangen, boven/onder-gemiddelde waarden, dubbele of unieke waarden, lege waarden, niet-lege waarden, fouten en niet-fouten. De teruggegeven index kan worden gebruikt met 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.
PasteFromClipboardPlakt de inhoud van het klembord direct in vanaf de opgegeven coördinaten
AlignWithMarginsSpecificeert whether page margins align with worksheet contents
CodeNameSpecificeert 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
ScenariosGetypeerde What-If Scenario Manager-collectie Elk scenario omvat één tot 32 invoercellen en ondersteunt zijn naam, de statussen locked en hidden, gebruikers- en opmerkingsmetadata, opgeslagen waarden, getalnotaties en de vlaggen deleted of undone CurrentIndex, ShownIndexen SqRef leggen de Scenario Manager-status op werkbladniveau bloot
ScenariosXmlVerouderde raw inner-XML-fallback die alleen wordt gebruikt wanneer de getypeerde Scenarios -collectie leeg is
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
CreateConditionalFormatEvaluatorHerordent een tekenobject in de z-volgorde van het werkblad:
RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchorBeheert ruwe, niet-gemapte XML-anchors van tekenvormen AddRawDrawingAnchor appends a complete <xdr:...Anchor> blok blijft ongewijzigd bewaard voor de round-trip en geeft de nieuwe TXLSXDrawingObject
BringToFront / SendToBack / BringForward / SendBackwardHerordent een tekenobject in de z-volgorde van het werkblad: BringToFront zet het boven alle andere tekeningen, SendToBack onder alle andere, en de varianten Forward / Backward verschuiven het één positie
SaveAsPDFInstantieert een hulpmachine voor de evaluatie van voorwaardelijke opmaak
TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevelBeheert raw, niet-gemapte XML-ankers van tekenvormen Sparse outline geometry
ToggleColGrouped / ToggleRowGroupedCompatibiliteitswrappers die de eerste detailkolom of -rij accepteren en het herleide samenvattingsknooppunt omschakelen

Hele-as-regelbewerkingen en bereikkopieën

Vanaf 2.384.77 accepteren doelgebieden van voorwaardelijke opmaak en gegevensvalidatie hele rijen en kolommen tijdens structurele bewerkingen en het klonen van afhankelijkheden; bewerkingen normaliseren geldige gebieden, behouden volledige rasteromvangen en laten doelen vallen waarvan de rijen of kolommen zijn verwijderd
Celkopieën over hele rijen, hele kolommen en het hele werkblad bezoeken opgeslagen cellen, behouden het sparsame legen van de bestemming en vangen de broninhoud vast voordat een overlappende bestemming wordt gelegd; het kopiëren van een leeg hele-as-bereik materialiseert zijn lege coördinaten niet
Kopieën over werkmappen heen mappen opmaak en rich text nog steeds op waarde opnieuw af, en volledige versus gedeeltelijke CSE-arraykopieën behouden hun bestaande formulecontracten
Vanaf 2.384.78 vangen celbereikkopieën ook kruisende virtuele stijloverlays vast vóór de mutatie, clippen expliciete bestemmings-overlays op de gekopieerde rechthoek en mappen elk gekopieerd opmaakonderdeel over werkmappen heen opnieuw af, inclusief expliciete resets naar index nul
Hele-as-standaardwaarden van de bestemming blijven compact en worden binnen de gekopieerde rechthoek gemaskeerd voordat de bronlagen worden toegepast; het kopiëren van een lege bron wist eerdere expliciete overlay-opmaak binnen die rechthoek, behoudt opmaak erbuiten en maakt geen cel aan per gedekt coördinaat
Gekloonde voorwaardelijke opmaak- en validatieregels eisen dat alle doelgebieden in de bronrechthoek liggen; regels die die slechts snijden worden overgeslagen, en een bestemming die buiten het werkbladraster uitsteekt wordt vóór het kopiëren geweigerd
Eindige herhaalde lege stijlen die uit ODS zijn geïmporteerd, leveren beide eindpunten aan het gebruikte bereik; standaardstijl-overlays over hele rijen, hele kolommen en het hele werkblad breiden dat niet uit louter omdat ze lege coördinaten bestrijken

Voorbeeld

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;
    

Zie ook