Docs HotXLS

TXLSXWorksheet class

Single worksheet inside a TXLSXWorkbook Possède la collection de cellules ainsi que les collections de cellules fusionnées, de liens hypertexte et de commentaires. Déclaré dans 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

NameNom de l'onglet de feuille tel qu'affiché par Excel
SetWorkbook / WorkbookDéfinit et expose la référence arrière du classeur utilisée par les assistants de cellules et partagés au niveau du classeur, comme les formats de nombre partagés, les remplissages, les bordures et les recherches de chaînes partagées
CellsCollection de cellules. Utilisez Cells.Item[Row, Col].Value Voir TXLSXCells / TXLSXCell
CalculateCompile et évalue une chaîne de formule Excel dans le contexte de cette feuille. Un signe = est accepté, et les références locales à la feuille, les cellules de formules référencées, les références inter-feuilles, les plages de noms définis, ainsi que les fonctions de texte, date, jour ouvré, ingénierie/conversion de base, bits, statistiques, agrégation et mathématiques prises en charge sont résolues par l'évaluateur de formules partagées du classeur
GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / CheckDataValidationGetCellVisibleFormat résout le style effectif à une coordonnée sans créer de cellule vide. Subtotal groupe un rectangle trié par changements d'une colonne absolue de la feuille, accepte les numéros de fonctions Excel SUBTOTAL de 1 à 11 ou de 101 à 111, insère les lignes de formule et de plan, et renvoie le nombre de lignes insérées. SubtotalDefaultEnglishString mappe un numéro de fonction SUBTOTAL vers son nom anglais (par exemple 1 vers Average et 9 vers Total). CheckDataValidation renvoie -1 pour un candidat valide ou la première règle en échec en base un, et ne valide que si SetIfValid est true et que toutes les règles applicables passent
ForEachCell / ForEachFormattedCell / ForEachRow / FindText / ReplaceText / WriteCells / WriteRowsFonctions d'aide pour le scan des cellules et lignes chargées, la recherche de texte, le remplacement de texte et le remplissage de plages. ForEachCell parcourt les cellules existantes dans l'ordre des lignes avec valeur et texte de formule. ForEachFormattedCell parcourt les cellules renseignées dans l'ordre lignes/colonnes en délivrant le texte d'affichage de chaque cellule avec le format numérique appliqué, et renvoie le nombre de cellules visitées tout en respectant l'annulation du callback. ForEachRow parcourt les lignes existantes dans l'ordre et signale pour chaque ligne ses première et dernière colonnes chargées. FindText et ReplaceText scannent les cellules texte chargées dans l'ordre des lignes, ignorent formules et valeurs non textuelles, et peuvent respecter la casse ; les surcharges d'options ajoutent la sémantique de la boîte de dialogue Recherche d'Excel (jokers, correspondance de cellule entière, sensibilité à la casse, recherche dans le texte de formule, scan arrière, scan colonne par colonne) et FindTextIn / ReplaceTextIn confinent le scan à une fenêtre rectangulaire avec un callback de remplacement facultatif par correspondance. WriteCells demande les valeurs d'une plage numérique ou de style A1 et prend en charge le saut et l'annulation par cellule. WriteRows demande un tableau de Variant pour chaque ligne et prend en charge le saut et l'annulation de lignes entières
MergedCellsCollection de plages fusionnées. Voir TXLSXMergedCells
HyperlinksCollection d'hyperliens. Voir TXLSXHyperlinks
CommentsCollection de commentaires de cellules. Voir TXLSXComments
Tables / AddTableBandes de tables à la mode Excel sur la feuille de calcul. Voir TXLSXTable / TXLSXTables
Charts / AddChartCollection de graphiques ancrés. Voir TXLSXChart / TXLSXCharts L'enum de types de graphique prend en charge les graphiques en colonnes, barres, courbes, secteurs, aires, anneau, nuage de points, bulles et radar. Pour un graphique pleine page, utilisez Workbook.AddChartSheet(...)
AddTextBox / TextBoxCount / TextBox / FindTextBoxAtCrée, énumère, localise, supprime et efface les zones de texte de dessin autonomes ancrées aux rectangles de cellules IndexOfTextBoxAt et FindTextBoxAt localisent la première zone de texte contenant une cellule, tandis que DeleteTextBoxAt, DeleteTextBoxesInRange, DeleteTextBox et ClearTextBoxes suppriment des zones de texte individuelles ou groupées sans toucher aux commentaires de cellules
AddHyperlinkToCell overloadsHyperlien d'ancre interne — saute vers un emplacement Sheet!Cell ailleurs dans le classeur. Aucune relation rels n'est générée. Voir TXLSXHyperlink.Location
RowOutlineLevel / ColOutlineLevelNiveau d'imbrication de groupe (0..7) pour la ligne ou colonne correspondante. SaveAs émet outlineLevel="N" sur l'entrée row / col
RowHidden / ColHiddenBoolean — sort la ligne ou la colonne de la vue (hidden="1")
RowCollapsed / ColCollapsedBoolean — marque une ligne / colonne dont le parent de groupe est replié (collapsed="1")
FreezePanes(Row, Col) / UnfreezePanePose un split figé — les Row lignes du haut et les Col colonnes de gauche restent visibles pendant que le reste défile. FreezeCol et FreezeRow sont des propriétés en lecture seule exposant le current split
SetPageMargins / Page setup propertiesLes six marges plus PageLandscape, PaperSize, PageScale, FitToWidth, FitToHeight, HeaderText, FooterText, LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter, CenterHorizontally et CenterVertically. Modifier l'une d'elles déclenche l'écriture des blocs <pageMargins>, <pageSetup> et <headerFooter> correspondants au SaveAs. Utilisez si possible les constantes nommées xlsxPaper* telles que xlsxPaperLetter, xlsxPaperA4, xlsxPaperA3 et xlsxPaperLegal plutôt que les codes bruts de format papier d'Excel
VisibilityVisibilité de la feuille : xlsxSheetVisible (défaut), xlsxSheetHidden (masquée mais affichable depuis l'interface d'Excel), ou xlsxSheetVeryHidden (nécessite du VBA ou du code pour être réaffichée). SaveAs émet un attribut state sur le <sheet> de xl/workbook.xmlVisible est un alias pratique Boolean pour les opérations courantes d'affichage ou de masquage
SetIsSelected / IsSelectedQuand True, l'onglet de la feuille apparaît sélectionné (surligné). Plusieurs feuilles peuvent être sélectionnées simultanément. SaveAs émet tabSelected="1" sur le <sheetView> correspondant
AutoFitColumn / AutoFitColumnsAutoFitColumn(Col, MinWidth, MaxWidth) mesure chaque cellule de la colonne et règle ColWidth[Col] au contenu le plus large (ASCII = 1 car, CJK = 2 car, échelle Calibri 11pt), puis applique des limites de largeur minimale et maximale facultatives AutoFitColumns(Min, Max, MinWidth, MaxWidth) parcourt la plage de colonnes, en s'arrêtant à la dernière colonne portant des cellules
AutoFitRow / AutoFitRowsAutoFitRow(Row, MinHeight, MaxHeight) règle RowHeight[Row] au contenu de cellule le plus haut de cette ligne (en points), puis applique des limites de hauteur minimale et maximale facultatives AutoFitRows(Min, Max, MinHeight, MaxHeight) parcourt la plage de lignes, en s'arrêtant à la dernière ligne portant des cellules
InsertRows / DeleteRowsInsertRows(BeforeRow, Count) décale vers le bas de Count toutes les lignes à partir de BeforeRow. DeleteRows(StartRow, Count) supprime les lignes [StartRow, StartRow+Count-1] et remonte le reste. Les deux se propagent en cascade à travers les cellules, plages fusionnées, hauteurs de lignes, niveaux de plan, indicateurs masqués, liens hypertexte, commentaires, volets figés, références de filtre automatique / mise en forme conditionnelle / validation de données, tableaux, formules de cellules, formules de mise en forme conditionnelle / validation de données, cibles internes de liens hypertexte, références de mise en page, sauts de page manuels, critères de colonnes du filtre automatique, plages de séries de graphiques, et noms définis qui pointent vers la feuille modifiée, ancres d'images et ancres de graphiques
InsertCols / DeleteColsComme InsertRows / DeleteRows, mais opérant sur les colonnes. Les largeurs de colonnes, les niveaux de plan et les indicateurs masqués sont également mis à jour
AddRowBreak / AddColBreakAddRowBreak(N) insère un saut de page manuel avant la ligne N (la ligne N démarre donc une nouvelle page imprimée). AddColBreak(N) coupe avant la colonne N. SaveAs écrit <rowBreaks> / <colBreaks> dans le XML de la feuille
HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreakInterroge ou localise un saut manuel unique par son index « before »
RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRangeSupprime un saut manuel ou tous les sauts d'un intervalle inclusif de lignes / colonnes ; les assistants de plage acceptent des coordonnées inversées et renvoient le nombre de sauts supprimés
ClearRowBreaks / ClearColBreaks / ClearAllPageBreaksSupprime tous les sauts de lignes, tous les sauts de colonnes, ou les deux
RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i]Parcourt les indices de sauts stockés (valeurs « Before » en base 1)
KeepRowLinkLevel / KeepColLinkLevelRenvoie le niveau « keep-together » le plus fort qui relie la ligne (ou colonne) suivant l'index donné au bloc au-dessus (ou à gauche), ou 0 quand la position n'est pas dans un bloc « keep-together »
PrintGridlines / PrintHeadingsAvec True, SaveAs émet printGridLines="1" / printRowColHeadings="1" dans <printOptions>, pour que le quadrillage ou les en-têtes de lignes/colonnes apparaissent à l'impression
BlackAndWhite / Draft / PrintNotes / PrintOverThenDownOptions d'impression dans <pageSetup> : BlackAndWhite imprime en noir et blanc ; Draft supprime les graphismes pour un aperçu plus rapide ; PrintNotes imprime les commentaires de cellules tels qu'affichés ; PrintOverThenDown passe l'ordre des pages à gauche-à-droite d'abord au lieu de haut-en-bas d'abord
PrintAreaLa zone rectangulaire qu'Excel imprime, par exemple "$A$1:$D$10"). Écrite comme <definedName name="_xlnm.Print_Area"> au niveau du classeur, limitée à cette feuille. Chaîne vide = non défini
PrintTitleRows / PrintTitleColsPlages de lignes ou de colonnes répétées sur chaque page imprimée (p. ex. "$1:$3" ou "$A:$B"). Écrites dans <definedName name="_xlnm.Print_Titles">
SetAutoFilter / AutoFilterRangeDéfinit la plage de filtre (p. ex. "A1:C100") ; SaveAs écrit <autoFilter ref="..."/>
AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumnsCritères de filtrage par colonne attachés à la plage du filtre automatique AddAutoFilterColumn(ColId, Op, Criteria) ajoute un filtre à un seul critère ; la surcharge à deux critères ajoute une paire AND/OR AutoFilterColumns.FindByColId(ColId) renvoie un objet de critères existant, AutoFilterColumns.DeleteByColId(ColId) en supprime un sans parcourir Items à la main, et AutoFilterColumns.ClearCriteria efface tous les critères de colonnes en préservant la plage de filtre ColId est le décalage basé sur 0 à l'intérieur de la plage de filtre automatique (pas la colonne de la feuille). SaveAs écrit des enfants <filterColumn> dans <autoFilter>
AutoFilterRowVisible / PreviewAutoFilterRows / ApplyAutoFilterAutoFilterRowVisible(Row) évalue les critères XLSX d'AutoFilter stockés pour une ligne de données. PreviewAutoFilterRows parcourt les lignes de données de AutoFilterRange, signale l'état visible de chaque ligne via un callback, renvoie le nombre de lignes visibles visitées et ne modifie pas les indicateurs de masquage des lignes ApplyAutoFilter applique les critères du filtre automatique, masque les lignes qui ne correspondent pas et indique si l'opération a réussi
Protect / UnProtect / IsProtectedBascule de protection au niveau de la feuille avec un hachage de mot de passe 16 bits hérité facultatif. Reflété comme <sheetProtection>
AllowOption / SheetProtectionOptions15 options de permissions de protection à granularité fine (mise en forme des cellules, insertion de lignes/colonnes, tri, filtrage automatique, sélection de cellules verrouillées/déverrouillées, etc.), correspondant à la liste de permissions "Protéger la feuille" d'Excel
PageSetupTouched / SheetProtectHashUtilisez PageSetupTouched pour savoir si les valeurs de mise en page ont été explicitement modifiées, et SheetProtectHash pour lire/écrire le texte de hash de protection de feuille 16 bits hérité utilisé par les formats de fichier XLS hérités
AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormatMéthodes de création, copie et formatage de tableaux croisés dynamiques. AddPivotTable construit un tableau croisé dynamique à partir d'une plage source A1 telle que 'Data!A1:C9' et l'ancre à la cellule en base 1 DestRow, DestCol ; il renvoie nil pour une source mal formée ou une ancre hors de la feuille. AddPivotTableCopy copie en profondeur un tableau croisé dynamique existant, de ce classeur ou d'un autre, vers une nouvelle ancre en base 1 sur cette feuille de calcul (un NewName vide donne '<source> (2)'). PivotSetDataFieldFormat enregistre un format numérique pour un champ de données et renvoie son index de format numérique
PivotTablesCollection des tableaux croisés dynamiques définis sur cette feuille de calcul
MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCMMarges de mise en page exprimées en centimètres
TabColor / TabColorIsAutoCouleur ARGB de l'onglet de la feuille dans Excel ; l'affectation de TabColor met TabColorIsAuto à False TabColorIsAuto = True (défaut) supprime l'enfant <tabColor> de <sheetPr>
IsChartSheetAvec True, SaveAs écrit la feuille dans xl/chartsheets/sheetN.xml au lieu de xl/worksheets/sheetN.xml et y héberge Charts[0] pleine page. Utilisez le helper Workbook.AddChartSheet(...) pour la configuration courante
ViewMode de vue de la feuille. Valeurs : xlsxNormalView, xlsxPageBreakPreview et xlsxPageLayoutView. SaveAs écrit l'attribut view correspondant sur <sheetView> ; Open le relit
ZoomPourcentage de zoom de la vue de la feuille (10–400 ; 100 par défaut, borné à l'affectation). Émet zoomScale="N" dans <sheetView> ; la valeur par défaut est omise pour que les feuilles non touchées restent propres
DisplayGridLinesAvec False, masque le quadrillage des cellules dans la vue de la feuille. True par défaut. Émet showGridLines="0" quand False
DisplayZerosAvec False, les cellules à valeur zéro s'affichent vides au lieu de « 0 ». True par défaut. Émet showZeros="0" quand False
DisplayRightToLeftWhen True, la feuille est affichée en disposition de droite à gauche (colonne A à droite), adaptée au texte arabe ou hébreu. Émet rightToLeft="1"
StandardWidthLargeur de colonne par défaut en unités de caractères Excel (p. ex. 8.43 = valeur intégrée par défaut). Définir une valeur > 0 émet <sheetFormatPr defaultColWidth="..."/>0 = non défini (élément omis)
StandardHeightHauteur de ligne par défaut en points (p. ex. 15 = valeur intégrée par défaut). Définir une valeur > 0 émet defaultRowHeight="..." on <sheetFormatPr>0 = non défini
ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRangeOpérations sur plages de cellules. CopyRange et CopyRangeTo dupliquent valeurs, formules, index de style et charges utiles de texte enrichi ; CopyFrom duplique tout le contenu et les réglages de la feuille (cellules fusionnées, mise en page, état de vue, filtres automatiques, etc.) ; ces trois méthodes ne copient que le contenu des cellules, donc les commentaires restent en arrière, et CloneRangeTo ou Sheets.AddCopy emporte les commentaires avec leurs runs de texte enrichi ; MoveRange ignore le chevauchement avec la destination ; SortRange trie des lignes entières à l'intérieur d'un rectangle selon une ou plusieurs colonnes clés absolues ; ClearRange supprime les cellules ; ClearRangeValues efface valeurs et formules en préservant les index de style
Range / RCRange / UsedRangeRenvoie des TXLSXRange possédées par la feuille, qui encapsulent des références A1, des coordonnées numériques basées sur 1 ou l'ensemble des cellules remplies de la feuille TXLSXRange.SaveAsHTML(FileName) et TXLSXRange.SaveAsHTML(Stream) exportent uniquement la plage sélectionnée comme tableau HTML UTF-8. Les wrappers de plage fournissent aussi des valeurs et formules par lot, index de style, formats de nombre, bordures, indicateurs de protection, ajustement automatique, fusion, décalage, redimensionnement, tri multi-clés, styles de cellules intégrés, copie/déplacement, et des assistants d'insertion/suppression de lignes ou colonnes entières
EntireRow / EntireColumnRenvoie des plages de lignes ou de colonnes entières pour l'index spécifié, utilisables pour des opérations structurelles ou la propagation de style
MergeCells(R1, C1, R2, C2)Ajoute un rectangle fusionné et renvoie le nouvel index d'entrée. Les coordonnées sont basées sur 1, inclusives aux deux extrémités. Équivalent à MergedCells.Add(R1, C1, R2, C2). En style plage, Range['A1:C3'].Merge(True) écrit une plage fusionnée par ligne, à la manière de la commande « fusionner sur les colonnes » d'Excel
FillMergedCellValuesCopie la valeur d'ancrage de chaque plage fusionnée dans toutes les cellules membres couvertes, si bien que les feuilles de type rapport se lisent ensuite comme une grille plate. Les ancres vides ou nulles sont ignorées, les fusions pré-remplies conservent leur propre contenu, et le nombre de cellules remplies est renvoyé
FormControlsCollection des contrôles de formulaire de la feuille de calcul (boutons, cases à cocher, boutons radio, zones de liste déroulante, zones de liste) créés par la famille de fonctions d'aide AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox . Chaque entrée expose le rectangle d'ancrage, la cellule liée et le type de contrôle
AddHyperlink overloadsAjoute un hyperlien URL externe à une seule cellule Display et Tooltip sont facultatifs. Équivalent à Hyperlinks.Add(...)
AddComment overloadsAjoute un commentaire à une seule cellule. Author est facultatif. Équivalent à Comments.Add(...)
ColWidth[Col]Largeur de colonne en unités Excel (même échelle que la boîte de dialogue Excel de largeur de colonne). Lire une colonne non définie renvoie 0 ; affecter une valeur règle la largeur de cette colonne en base 1. SaveAs émet une entrée <col> par colonne personnalisée ; Open rejoue le bloc <cols> dans la map
RowHeight[Row]Hauteur de ligne en points (même échelle que la boîte de dialogue Excel de hauteur de ligne). Lire une ligne non définie renvoie 0 ; affecter une valeur règle la hauteur de cette ligne en base 1. SaveAs écrit les attributs ht et customHeight="1" sur chaque <row> à hauteur personnalisée, y compris les lignes qui ne portent qu'une hauteur sans données de cellules
SetColWidth / SetRowHeightSetters directs utilisés par les propriétés indexées ci-dessus. Fournis comme méthodes nommées pour les appelants qui préfèrent ne pas utiliser la syntaxe de propriété
HasColWidth / HasRowHeightRenvoie True quand la feuille a une largeur ou hauteur personnalisée pour l'index donné. Utilisez cela pour distinguer un "non défini" d'un 0
ClearColWidths / ClearRowHeightsRamène toute largeur ou hauteur personnalisée à la valeur par défaut d'Excel
ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsedRéinitialise chaque override masqué/réduit de ligne ou de colonne à l'état par défaut visible et développé
ImagesCollection d'images. Utilisez AddImage / AddImageFromFile comme points d'entrée pratiques. Voir TXLSXImage / TXLSXImages
HeaderFooterImagesEmplacements typés d'images d'en-tête et de pied de page impaires, paires et de première page, avec des propriétés indépendantes de position, taille, marge, format, données et titre. Voir TXLSXHeaderFooterImage / TXLSXHeaderFooterImages
ConditionalFormatsRègles de mise en forme conditionnelle de cette feuille de calcul Utilisez AddConditionalFormat comme point d'entrée pratique Voir TXLSXConditionalFormat / TXLSXConditionalFormats
DataValidationsRègles de validation de données de cette feuille de calcul. Utilisez AddDataValidation / AddListValidation comme points d'entrée pratiques. Voir TXLSXDataValidation / TXLSXDataValidations
IgnoredErrorsMétadonnées typées de suppression d'erreurs de la feuille de calcul Chaque TXLSXIgnoredError combine un SqRef multi-zones séparé par des espaces avec les indicateurs standard d'évaluation, de date, de nombre stocké, de formule, de formule non verrouillée, de référence vide, de validation de données et de colonne calculée Les entrées survivent aux copies de feuilles et aux allers-retours ouverture/enregistrement, et leurs plages suivent les insertions et suppressions de lignes et de colonnes
AddImage / AddImageFromFileAjoute une image ancrée à une cellule. AddImage prend les octets bruts plus un TXLSXImageFormat ; AddImageFromFile lit le fichier et déduit le format de son extension. Équivalent à Images.Add sur la collection
AddConditionalFormat overloadsAjoute une règle de mise en forme conditionnelle cellIs Équivalent à ConditionalFormats.Add(...)
AddCondFormatExpression / text / rank / average / duplicate / blank / error helpersAjoute des règles de mise en forme conditionnelle spécialisées pour les formules, la correspondance de texte, les rangs supérieurs/inférieurs, les valeurs au-dessus/en dessous de la moyenne, les valeurs dupliquées ou uniques, les vides, les non-vides, les erreurs et les non-erreurs. L'index renvoyé peut être utilisé avec ConditionalFormats[Index].Style pour attacher la mise en forme
AddWholeNumberValidation / AddWholeNumberValidation overloads / Whole whole-number validationsAjoute des validations de nombres entiers complets, avec prise en charge par plage ou par critères
ProtectedRangesCollection des plages de cellules protégées exigeant une authentification par mot de passe dans la feuille
RawWorksheetExtsExpose les données brutes de la liste d'extensions de feuille pour injection XML directe
SparklineGroups / AddSparklineGroupGère les mini-graphiques sparkline au sein des cellules. AddSparklineGroup crée un groupe référençant une plage de données
ThreadedComments / AddThreadedComment / AddThreadedReplyPrend en charge les conversations modernes de commentaires threadés (réponses). AddThreadedComment crée une conversation de commentaires threadés de premier niveau, et AddThreadedReply ajoute une réponse
AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChartRaccourcis de création de graphiques Excel. AddChartFromRange crée un graphique ancré directement à partir des données de cellules
GetSheetProtectOption / SetSheetProtectOptionLit ou définit par programme des indicateurs de permission spécifiques de protection de feuille
PasteFromClipboardColle le contenu du presse-papiers directement à partir des coordonnées spécifiées
AlignWithMarginsIndique si les marges de page s'alignent sur le contenu de la feuille
CodeNameDéfinit le nom de code VBA de la feuille
ConsolidateXmlExpose les données XML consolidées brutes
DifferentFirstActive un en-tête/pied de première page distinct
DifferentOddEvenActive des en-têtes/pieds distincts pour les pages paires et impaires
EvenFooterText / EvenHeaderTextChaînes de texte des en-têtes et pieds des pages paires
FirstFooterText / FirstHeaderTextChaînes de texte des en-têtes et pieds de première page
FirstPageNumberNuméro de la première page imprimée
GridColorCouleur du quadrillage de la feuille
HorizontalDpi / VerticalDpiRésolutions d'impression DPI des axes horizontal et vertical
OutlineLevelCol / OutlineLevelRowNiveau de plan par défaut des colonnes et des lignes
PaneStateÉtat de volet figé du défilement
PhoneticAlignment / PhoneticFontId / PhoneticTypeAlignement du texte ruby phonétique CJK, index de police et type phonétique
PrintErrorsComportement d'impression des erreurs de cellules
ScaleWithDocMet en-têtes/pieds à l'échelle du document
ScenariosCollection typée du gestionnaire de scénarios What-If Chaque scénario possède une à 32 cellules d'entrée et prend en charge son nom, ses états verrouillé et masqué, les métadonnées utilisateur et commentaire, les valeurs stockées, les formats numériques et les indicateurs supprimé ou annulé CurrentIndex, ShownIndexet SqRef exposent l'état du gestionnaire de scénarios au niveau de la feuille
ScenariosXmlRepli hérité en XML interne brut, utilisé uniquement quand la collection typée Scenarios est vide
SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCountPropriétés cryptographiques des hash de mot de passe de protection de feuille modernes
ShowFormulasAffiche les formules au lieu des valeurs
ShowOutlineSymbolsAffiche les symboles des groupes de plan
SortState / SortStateXmlCritères de tri typés et contenu XML de tri verbatim
SummaryBelow / SummaryRightPosition des lignes et colonnes de synthèse du plan
UseFirstPageNumberUtilise un début explicite de numérotation des pages
UsePrinterDefaultsUtilise les réglages DEVMODE par défaut de l'imprimante
ZeroHeightMasque par défaut les lignes nouvellement insérées
ZoomNormal / ZoomPageLayout / ZoomSheetLayoutValeurs de zoom des vues normale, mise en page et saut de page
AddWordArtAjoute une forme de texte WordArt à la feuille de calcul
BuildRowMajorCellOrderOptimise séquentiellement le stockage des cellules pour un parcours ligne par ligne
ClearRawDrawingAnchorsEfface toutes les ancres XML brutes de formes de dessin non mappées
CreateConditionalFormatEvaluatorInstancie un moteur utilitaire d'évaluation de mise en forme conditionnelle
RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchorGère les ancres XML brutes de formes de dessin non mappées AddRawDrawingAnchor ajoute un bloc <xdr:...Anchor> complet préservé verbatim pour le round-trip et renvoie le nouveau TXLSXDrawingObject
BringToFront / SendToBack / BringForward / SendBackwardRéordonne un objet de dessin dans le z-order de la feuille : BringToFront le place au-dessus de tous les autres dessins, SendToBack en dessous de tous, et les variantes Forward / Backward le décalent d'une position
SaveAsPDFExporte la feuille de calcul vers un fichier ou un flux PDF
TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevelInterroge ou modifie de façon idempotente les nœuds de synthèse de lignes et colonnes sensibles à la direction via le modèle de plan creux partagé ; voir Sparse outline geometry
ToggleColGrouped / ToggleRowGroupedBascule l'état replié des groupes de colonnes ou de lignes

Éditions de règles sur axes entiers et copies de plages

Depuis la 2.384.77, les zones cibles de mise en forme conditionnelle et de validation de données acceptent des lignes et colonnes entières pendant les éditions structurelles et le clonage de dépendances ; les éditions normalisent les zones valides, conservent les étendues complètes de grille et abandonnent les cibles dont les lignes ou colonnes sont supprimées
Les copies de cellules de lignes, colonnes et feuilles entières visitent les cellules stockées, conservent l'effacement épars de la destination et capturent le contenu de la source avant d'effacer une destination chevauchante ; copier une plage d'axes entiers vide ne matérialise pas ses coordonnées vides
Les copies inter-classeurs remappent toujours la mise en forme et le texte enrichi par valeur, et les copies complètes contre partielles de tableaux CSE conservent leurs contrats de formules existants
Depuis la 2.384.78, les copies de plages de cellules capturent aussi les superpositions de styles virtuels en intersection avant mutation, rognent les superpositions explicites de la destination au rectangle copié et remappent chaque partie de mise en forme copiée entre classeurs, y compris les réinitialisations explicites à l'index zéro
Les défauts de destination sur axes entiers restent compacts et sont masqués à l'intérieur du rectangle copié avant l'application des couches de la source ; copier une source vide efface la mise en forme explicite en superposition antérieure à l'intérieur de ce rectangle, conserve la mise en forme à l'extérieur et ne crée pas de cellule pour chaque coordonnée couverte
Les règles conditionnelles et de validation clonées exigent que toutes les zones cibles soient contenues dans le rectangle source ; les règles qui ne font que l'intersecter sont ignorées, et une destination qui déborde de la grille de la feuille est rejetée avant la copie
Les styles de blancs répétés finis importés d'ODS contribuent aux deux extrémités de la plage utilisée ; les superpositions de styles par défaut de lignes, colonnes et feuilles entières ne l'étendent pas simplement parce qu'elles couvrent des coordonnées vides

Exemple

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;
    

Voir aussi