HotXLS Документация

Класс TXLSXWorksheet

Один лист внутри книги TXLSXWorkbook Владеет коллекцией ячеек, а также коллекциями объединенных ячеек, гиперссылок и комментариев. Объявлен в модуле lxHandleX

Объявление

type
  TXLSXTextBox = class
    constructor Create(const AText: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer);
    property Text: WideString;
    property FromRow, FromCol, ToRow, ToCol: Integer;
  end;

  TXLSXIgnoredError = class
    constructor Create(const ASqRef: WideString);
    procedure Assign(Source: TXLSXIgnoredError);
    property SqRef: WideString;
    property EvalError: Boolean;
    property TwoDigitTextYear: Boolean;
    property NumberStoredAsText: Boolean;
    property Formula: Boolean;
    property FormulaRange: Boolean;
    property UnlockedFormula: Boolean;
    property EmptyCellReference: Boolean;
    property ListDataValidation: Boolean;
    property CalculatedColumn: Boolean;
  end;

  TXLSXIgnoredErrors = class
    function Add(const ASqRef: WideString): TXLSXIgnoredError;
    function AddExisting(Source: TXLSXIgnoredError): TXLSXIgnoredError;
    procedure Delete(Index: Integer);
    procedure Clear;
    property Count: Integer;
    property Items[Index: Integer]: TXLSXIgnoredError; default;
  end;

  TXLSXScenarioInputCell = class
    property Ref: WideString;
    property Value: WideString;
    property NumberFormatId: Integer;
    property Deleted: Boolean;
    property Undone: Boolean;
  end;

  TXLSXScenarioInputCells = class
    function Add(const ARef, AValue: WideString): TXLSXScenarioInputCell;
    procedure Delete(Index: Integer);
    procedure Clear;
    property Count: Integer;
    property Items[Index: Integer]: TXLSXScenarioInputCell; default;
  end;

  TXLSXScenario = class
    property Name: WideString;
    property Locked: Boolean;
    property Hidden: Boolean;
    property User: WideString;
    property Comment: WideString;
    property InputCells: TXLSXScenarioInputCells;
  end;

  TXLSXScenarios = class
    function Add(const AName: WideString): TXLSXScenario;
    function FindByName(const AName: WideString): TXLSXScenario;
    procedure Delete(Index: Integer);
    procedure Clear;
    property Count: Integer;
    property Items[Index: Integer]: TXLSXScenario; default;
    property CurrentIndex: Integer;
    property ShownIndex: Integer;
    property SqRef: WideString;
  end;

  TXLSXWorksheet = class
    constructor Create(const AName: WideString);
    destructor Destroy; override;
    procedure SetWorkbook(AWorkbook: TXLSXWorkbook);
    function MergeCells(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
    function FillMergedCellValues: Integer;
    property FormControls: TXLSXFormControls;
    function AddHyperlink(ARow, ACol: Integer; const AUrl: WideString): Integer; overload;
    function AddHyperlink(ARow, ACol: Integer; const AUrl, ADisplay: WideString): Integer; overload;
    function AddHyperlink(ARow, ACol: Integer; const AUrl, ADisplay, ATooltip: WideString): Integer; overload;
    function AddComment(ARow, ACol: Integer; const AText: WideString): Integer; overload;
    function AddComment(ARow, ACol: Integer; const AText, AAuthor: WideString): Integer; overload;
    function AddImage(ARow, ACol: Integer; const AData: AnsiString; AFormat: TXLSXImageFormat): Integer;
    function AddImageFromFile(ARow, ACol: Integer; const AFileName: WideString): Integer;
    function AddConditionalFormat(const ARange: WideString; AOp: TXLSXCfOperator; const AFormula1: WideString): Integer; overload;
    function AddConditionalFormat(const ARange: WideString; AOp: TXLSXCfOperator; const AFormula1, AFormula2: WideString): Integer; overload;
    // Excel 2007+ extension rules (v2.36.0+) — mirror the BIFF8 TXLSWorksheet API.
    // Their colors are BGR ($00BBGGRR, like a VCL TColor), not the ARGB used by fonts and fills
    function AddCondFormatDataBar(const ARange: WideString; AColor: LongWord;
      AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
      AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
    function AddCondFormatColorScale2(const ARange: WideString;
      AMinColor, AMaxColor: LongWord;
      AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
      AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
    function AddCondFormatColorScale3(const ARange: WideString;
      AMinColor, AMidColor, AMaxColor: LongWord;
      AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
      AMidKind: TXLSCfValueKind = cfvPercentile; const AMidValue: WideString = '50';
      AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
    function AddCondFormatIconSet(const ARange: WideString;
      ASetType: TXLSIconSetType): Integer;
    function AddCondFormatExpression(const ARange: WideString;
      const AFormula: WideString): Integer;
    function AddCondFormatContainsText(const ARange, AText: WideString): Integer;
    function AddCondFormatNotContainsText(const ARange, AText: WideString): Integer;
    function AddCondFormatBeginsWith(const ARange, AText: WideString): Integer;
    function AddCondFormatEndsWith(const ARange, AText: WideString): Integer;
    function AddCondFormatTop10(const ARange: WideString; ARank: Integer;
      ABottom: Boolean = False; APercent: Boolean = False): Integer;
    function AddCondFormatAboveAverage(const ARange: WideString;
      AAbove: Boolean = True): Integer;
    function AddCondFormatDuplicateValues(const ARange: WideString): Integer;
    function AddCondFormatUniqueValues(const ARange: WideString): Integer;
    function AddCondFormatContainsBlanks(const ARange: WideString): Integer;
    function AddCondFormatNotContainsBlanks(const ARange: WideString): Integer;
    function AddCondFormatContainsErrors(const ARange: WideString): Integer;
    function AddCondFormatNotContainsErrors(const ARange: WideString): Integer;
    function AddDataValidation(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
    function AddDataValidation(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
    function AddListValidation(const ARange, AItems: WideString): Integer;
    function AddWholeNumberValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
    function AddWholeNumberValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
    function AddDecimalValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
    function AddDecimalValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
    function AddDateValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
    function AddDateValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
    function AddTimeValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
    function AddTimeValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
    function AddTextLengthValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
    function AddTextLengthValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
    function AddCustomValidation(const ARange, AFormula: WideString): Integer;
    function CheckDataValidation(ARow, ACol: Integer; const AValue: Variant;
      SetIfValid: Boolean = False): Integer;
    // Excel-style table (insert table) — see TXLSXTable.
    function AddTable(const AName, ARange: WideString; AColumns: TStrings): Integer;
    // Chart helpers — anchored or full-page (via AddChartSheet on workbook).
    function AddChart(AChartType: TXLSXChartType; const ATitle: WideString;
      AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
    // Standalone drawing text boxes.
    function AddTextBox(const AText: WideString;
      AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXTextBox;
    function TextBoxCount: Integer;
    function TextBox(Index: Integer): TXLSXTextBox;
    function IndexOfTextBoxAt(ARow, ACol: Integer): Integer;
    function FindTextBoxAt(ARow, ACol: Integer): TXLSXTextBox;
    procedure DeleteTextBox(Index: Integer);
    function DeleteTextBoxAt(ARow, ACol: Integer): Boolean;
    function DeleteTextBoxesInRange(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
    procedure ClearTextBoxes;
    // Internal Sheet!Cell hyperlink (no rels relationship needed).
    function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation: WideString): Integer; overload;
    function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation, ADisplay: WideString): Integer; overload;
    function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation, ADisplay, ATooltip: WideString): Integer; overload;
    // Sheet visibility and selection state.
    property Visibility: TXLSXSheetVisibility;
    property Visible: Boolean;
    property IsSelected: Boolean;
    procedure SetIsSelected(Value: Boolean);
    // Auto-fit column width / row height from cell content.
    procedure AutoFitColumn(ACol: Integer; AMinWidth: Double = 0; AMaxWidth: Double = 0);
    procedure AutoFitColumns(AColMin, AColMax: Integer; AMinWidth: Double = 0; AMaxWidth: Double = 0);
    procedure AutoFitRow(ARow: Integer; AMinHeight: Double = 0; AMaxHeight: Double = 0);
    procedure AutoFitRows(ARowMin, ARowMax: Integer; AMinHeight: Double = 0; AMaxHeight: Double = 0);
    // Row / column insert and delete with cascade shift.
    procedure InsertRows(BeforeRow, Count: Integer);
    procedure DeleteRows(StartRow, Count: Integer);
    procedure InsertCols(BeforeCol, Count: Integer);
    procedure DeleteCols(StartCol, Count: Integer);
    // Manual page breaks.
    procedure AddRowBreak(BeforeRow: Integer);
    procedure AddColBreak(BeforeCol: Integer);
    function  HasRowBreak(BeforeRow: Integer): Boolean;
    function  HasColBreak(BeforeCol: Integer): Boolean;
    function  IndexOfRowBreak(BeforeRow: Integer): Integer;
    function  IndexOfColBreak(BeforeCol: Integer): Integer;
    procedure RemoveRowBreak(BeforeRow: Integer);
    procedure RemoveColBreak(BeforeCol: Integer);
    function  RemoveRowBreaksInRange(FirstRow, LastRow: Integer): Integer;
    function  RemoveColBreaksInRange(FirstCol, LastCol: Integer): Integer;
    procedure ClearRowBreaks;
    procedure ClearColBreaks;
    procedure ClearAllPageBreaks;
    function  RowBreakCount: Integer;
    function  ColBreakCount: Integer;
    function  RowBreaks(Index: Integer): Integer;
    function  ColBreaks(Index: Integer): Integer;
    function  KeepRowLinkLevel(AfterRow: Integer): Integer;
    function  KeepColLinkLevel(AfterCol: Integer): Integer;
    function Calculate(const Formula: WideString): Variant;
    function ForEachCell(Callback: TXLSXCellReadEvent): Integer;
    function ForEachFormattedCell(Callback: TXLSXCellTextEvent): Integer;
    function ForEachRow(Callback: TXLSXRowReadEvent): Integer;
    function FindText(const SearchText: WideString; out Row, Col: Integer): Boolean; overload;
    function FindText(const SearchText: WideString; out Row, Col: Integer; MatchCase: Boolean): Boolean; overload;
    function ReplaceText(const SearchText, ReplacementText: WideString): Integer; overload;
    function ReplaceText(const SearchText, ReplacementText: WideString; MatchCase: Boolean): Integer; overload;
    function FindText(const SearchText: WideString; out Row, Col: Integer; Options: TXLSXFindOptions; StartRow, StartCol: Integer): Boolean; overload;
    function FindTextIn(const SearchText: WideString; out Row, Col: Integer; Options: TXLSXFindOptions; FirstRow, FirstCol, LastRow, LastCol, StartRow, StartCol: Integer): Boolean;
    function ReplaceText(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions): Integer; overload;
    function ReplaceText(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions; Callback: TXLSXReplaceEvent): Integer; overload;
    function ReplaceTextIn(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions; FirstRow, FirstCol, LastRow, LastCol: Integer; Callback: TXLSXReplaceEvent): Integer;
    function WriteCells(const ARange: WideString; Callback: TXLSXCellWriteEvent): Integer; overload;
    function WriteCells(ARow1, ACol1, ARow2, ACol2: Integer; Callback: TXLSXCellWriteEvent): Integer; overload;
    function WriteRows(const ARange: WideString; Callback: TXLSXRowWriteEvent): Integer; overload;
    function WriteRows(ARow1, ACol1, ARow2, ACol2: Integer; Callback: TXLSXRowWriteEvent): Integer; overload;
    function WriteFloatRowValues(ARow, ACol: Integer; const AValues: array of Double): Integer;
    function WriteStringRowValues(ARow, ACol: Integer; const AValues: array of WideString): Integer;
    function WriteRowValues(ARow, ACol: Integer; const AValues: array of Variant): Integer;
    function WriteFloatColumnValues(ARow, ACol: Integer; const AValues: array of Double): Integer;
    function WriteStringColumnValues(ARow, ACol: Integer; const AValues: array of WideString): Integer;
    function WriteColumnValues(ARow, ACol: Integer; const AValues: array of Variant): Integer;
    // Column / row metadata.
    procedure SetColWidth(ACol: Integer; AWidth: Double);
    function HasColWidth(ACol: Integer): Boolean;
    procedure ClearColWidths;
    procedure SetRowHeight(ARow: Integer; AHeight: Double);
    function HasRowHeight(ARow: Integer): Boolean;
    procedure ClearRowHeights;
    procedure SetRowOutlineLevel(ARow, ALevel: Integer);
    function HasRowOutlineLevel(ARow: Integer): Boolean;
    procedure ClearRowOutlineLevels;
    procedure SetColOutlineLevel(ACol, ALevel: Integer);
    function HasColOutlineLevel(ACol: Integer): Boolean;
    procedure ClearColOutlineLevels;
    procedure SetRowHidden(ARow: Integer; AHidden: Boolean);
    procedure SetColHidden(ACol: Integer; AHidden: Boolean);
    procedure ClearRowHidden;
    procedure ClearColHidden;
    procedure SetRowCollapsed(ARow: Integer; ACollapsed: Boolean);
    procedure SetColCollapsed(ACol: Integer; ACollapsed: Boolean);
    procedure ClearRowCollapsed;
    procedure ClearColCollapsed;
    function TryGetOutlineNode(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; out ANode: TXLSOutlineNode): Boolean;
    function SetOutlineNodeCollapsed(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; ACollapsed: Boolean; AChildMode: TXLSOutlineChildMode = xocPreserve): Boolean;
    procedure SetOutlineDisplayLevel(AAxis: TXLSOutlineAxis; ADisplayLevel: Integer; AChildMode: TXLSOutlineChildMode = xocPreserve);
    // Range copy / move / clear API.
    procedure ClearRangeValues(const ARange: WideString); overload;
    procedure ClearRangeValues(ARow1, ACol1, ARow2, ACol2: Integer); overload;
    procedure ClearRange(ARow1, ACol1, ARow2, ACol2: Integer);
    procedure CopyRange(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2, ADstRow, ADstCol: Integer);
    procedure CopyRangeTo(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2: Integer;
      ATargetSheet: TXLSXWorksheet; ADstRow, ADstCol: Integer);
    procedure CopyFrom(ASource: TXLSXWorksheet);
    procedure MoveRange(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2, ADstRow, ADstCol: Integer);
    procedure SortRange(ARow1, ACol1, ARow2, ACol2: Integer;
      const AKeyCols: array of Integer; const ADescending: array of Boolean);
    function GetCellVisibleFormat(ARow, ACol: Integer): TXLSXCellStyleState;
    function Subtotal(ARow1, ACol1, ARow2, ACol2, AChangeColumn,
      AFunction: Integer; const ASubtotalColumns: array of Integer): Integer; overload;
    function Subtotal(ARow1, ACol1, ARow2, ACol2, AChangeColumn,
      AFunction: Integer; const ASubtotalColumns: array of Integer;
      const AGrandTotalText: WideString): Integer; overload;
    function SubtotalDefaultEnglishString(AFunction: Integer): WideString;
    // Frozen panes (top rows / left columns).
    procedure FreezePanes(ARow, ACol: Integer);
    procedure UnfreezePane;
    property FreezeCol, FreezeRow: Integer;
    // Page setup.
    procedure SetPageMargins(ALeft, ARight, ATop, ABottom: Double); overload;
    procedure SetPageMargins(ALeft, ARight, ATop, ABottom, AHeader, AFooter: Double); overload;
    property MarginLeft, MarginRight, MarginTop, MarginBottom,
             MarginHeader, MarginFooter: Double;
    property MarginLeftCM, MarginRightCM, MarginTopCM, MarginBottomCM,
             MarginHeaderCM, MarginFooterCM: Double;
    property PageLandscape: Boolean;
    property PaperSize, PageScale, FitToWidth, FitToHeight: Integer;
    property HeaderText, FooterText: WideString;
    property LeftHeader, CenterHeader, RightHeader: WideString;
    property LeftFooter, CenterFooter, RightFooter: WideString;
    property CenterHorizontally, CenterVertically: Boolean;
    property PrintGridlines: Boolean;
    property PrintHeadings: Boolean;
    property BlackAndWhite: Boolean;
    property Draft: Boolean;
    property PrintNotes: Boolean;
    property PrintOverThenDown: Boolean;
    property PrintArea: WideString;
    property PrintTitleRows: WideString;
    property PrintTitleCols: WideString;
    // Auto-filter range (e.g. "A1:C100"). Empty = no filter.
    procedure SetAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer); overload;
    procedure SetAutoFilter(const ARange: WideString); overload;
    procedure ClearAutoFilter;
    property AutoFilterRange: WideString;
    property AutoFilterColumns: TXLSXAutoFilterColumns;
    function AddAutoFilterColumn(AColId: Integer; AOp1: TXLSXAutoFilterOp; const ACriteria1: WideString): TXLSXAutoFilterColumn; overload;
    function AddAutoFilterColumn(AColId: Integer; AOp1: TXLSXAutoFilterOp; const ACriteria1: WideString; AOp2: TXLSXAutoFilterOp; const ACriteria2: WideString; AAndConnector: Boolean): TXLSXAutoFilterColumn; overload;
    procedure ClearAutoFilterColumns;
    function AutoFilterRowVisible(ARow: Integer): Boolean;
    function PreviewAutoFilterRows(Callback: TXLSXAutoFilterRowEvent): Integer;
    function ApplyAutoFilter(const ARange: WideString): Boolean;
    // Sheet protection (16-bit legacy hash).
    procedure Protect; overload;
    procedure Protect(const APassword: WideString); overload;
    procedure UnProtect;
    property IsProtected: Boolean;
    property AllowOption[Option: TXLSXSheetProtectionOption]: Boolean;
    property SheetProtectionOptions: TXLSXSheetProtectionOptions;
    property PageSetupTouched: Boolean;
    property SheetProtectHash: WideString;
    // Sheet tab color + chart-sheet flag.
    property TabColor: LongWord;
    property TabColorIsAuto: Boolean;
    property IsChartSheet: Boolean;
    property Name: WideString;
    property Workbook: TXLSXWorkbook;
    property AlignWithMargins: Boolean;
    property CodeName: WideString;
    property ConsolidateXml: WideString;
    property DifferentFirst: Boolean;
    property DifferentOddEven: Boolean;
    property EvenFooterText: WideString;
    property EvenHeaderText: WideString;
    property FirstFooterText: WideString;
    property FirstHeaderText: WideString;
    property FirstPageNumber: Integer;
    property GridColor: LongWord;
    property HorizontalDpi: Integer;
    property OutlineLevelCol: Integer;
    property OutlineLevelRow: Integer;
    property PaneState: WideString;
    property PhoneticAlignment: WideString;
    property PhoneticFontId: Integer;
    property PhoneticType: WideString;
    property PrintErrors: Integer;
    property ScaleWithDoc: Boolean;
    property ScenariosXml: WideString;
    property SheetProtectAlgorithmName: WideString;
    property SheetProtectHashValue: WideString;
    property SheetProtectSaltValue: WideString;
    property SheetProtectSpinCount: Integer;
    property ShowFormulas: Boolean;
    property ShowOutlineSymbols: Boolean;
    property SortState: TXLSXSortState;
    property SortStateXml: WideString;
    property SummaryBelow: Boolean;
    property SummaryRight: Boolean;
    property UseFirstPageNumber: Boolean;
    property UsePrinterDefaults: Boolean;
    property VerticalDpi: Integer;
    property ZeroHeight: Boolean;
    property ZoomNormal: Integer;
    property ZoomPageLayout: Integer;
    property ZoomSheetLayout: Integer;
    // Sheet view display options.
    property View: TXLSXWindowView;
    property Zoom: Integer;
    property DisplayGridLines: Boolean;
    property DisplayZeros: Boolean;
    property DisplayRightToLeft: Boolean;
    property StandardWidth: Double;
    property StandardHeight: Double;
    // Collections owned by the worksheet.
    property Cells: TXLSXCells;
    property MergedCells: TXLSXMergedCells;
    property Hyperlinks: TXLSXHyperlinks;
    property Comments: TXLSXComments;
    property Images: TXLSXImages;
    property ConditionalFormats: TXLSXConditionalFormats;
    property DataValidations: TXLSXDataValidations;
    property IgnoredErrors: TXLSXIgnoredErrors;
    property Scenarios: TXLSXScenarios;
    property Tables: TXLSXTables;
    property Charts: TXLSXCharts;
    property PivotTables: TXLSPivotTables;
    function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
    function AddPivotTableCopy(SourcePivot: TXLSPivotTable; DestRow, DestCol: Integer; const NewName: WideString): TXLSPivotTable;
    function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
    property ColWidth[ACol: Integer]: Double;
    property RowHeight[ARow: Integer]: Double;
    property RowOutlineLevel[ARow: Integer]: Integer;
    property ColOutlineLevel[ACol: Integer]: Integer;
    property RowHidden[ARow: Integer]: Boolean;
    property ColHidden[ACol: Integer]: Boolean;
    property RowCollapsed[ARow: Integer]: Boolean;
    property ColCollapsed[ACol: Integer]: Boolean;
    property Range[const Ref: WideString]: TXLSXRange;
    property RCRange[R1, C1, R2, C2: Integer]: TXLSXRange;
    property UsedRange: TXLSXRange;
    function EntireRow(ARow: Integer): TXLSXRange;
    function EntireColumn(ACol: Integer): TXLSXRange;
    property ProtectedRanges: TXLSXProtectedRanges;
    property RawWorksheetExts: TXLSXRawWorksheetExts;
    property SparklineGroups: TXLSXSparklineGroups;
    property ThreadedComments: TXLSXThreadedComments;
    function AddAreaChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
    function AddBarChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
    function AddChartFromRange(const ARange: WideString; AChartType: TXLSXChartType): TXLSXChart;
    function AddColumnChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
    function AddLineChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
    function AddPieChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
    function AddSparklineGroup(const ARange, ALocation: WideString; AType: TXLSXSparklineType): TXLSXSparklineGroup;
    function AddThreadedComment(ARow, ACol: Integer; const AText, AAuthor: WideString): TXLSXThreadedComment;
    function AddThreadedReply(AParentComment: TXLSXThreadedComment; const AText, AAuthor: WideString): TXLSXThreadedComment;
    function GetSheetProtectOption(Option: TXLSXSheetProtectionOption): Boolean;
    procedure SetSheetProtectOption(Option: TXLSXSheetProtectionOption; Value: Boolean);
    procedure PasteFromClipboard(StartRow, StartCol: Integer);
    function AddWordArt(const AText, APreset: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXTextBox;
    procedure BuildRowMajorCellOrder;
    procedure ClearRawDrawingAnchors;
    function CreateConditionalFormatEvaluator: TXLSXConditionalFormatEvaluator;
    function RawDrawingAnchor(Index: Integer): WideString;
    function RawDrawingAnchorCount: Integer;
    function AddRawDrawingAnchor(const AXml: WideString): TXLSXDrawingObject;
    procedure BringToFront(AObject: TXLSXDrawingObject);
    procedure SendToBack(AObject: TXLSXDrawingObject);
    procedure BringForward(AObject: TXLSXDrawingObject);
    procedure SendBackward(AObject: TXLSXDrawingObject);
    function SaveAsPDF(const FileName: WideString): Integer; overload;
    function SaveAsPDF(Stream: TStream): Integer; overload;
    procedure ToggleColGrouped(ACol: Integer);
    procedure ToggleRowGrouped(ARow: Integer);
  end;

  TXLSXBuiltinCellStyle = (
    xbsNormal, xbsGood, xbsBad, xbsNeutral,
    xbsCalculation, xbsCheckCell, xbsExplanatoryText, xbsInput,
    xbsLinkedCell, xbsNote, xbsOutput, xbsWarningText,
    xbsHeading1, xbsHeading2, xbsHeading3, xbsHeading4, xbsTitle, xbsTotal,
    xbsAccent1, xbsAccent2, xbsAccent3, xbsAccent4, xbsAccent5, xbsAccent6);

  TXLSXRange = class
    function RefA1: WideString;
    function SaveAsHTML(const FileName: WideString): Integer; overload;
    function SaveAsHTML(const FileName: WideString; Options: TXLSXHtmlExportOptions): Integer; overload;
    function SaveAsHTML(Stream: TStream): Integer; overload;
    function SaveAsHTML(Stream: TStream; Options: TXLSXHtmlExportOptions): Integer; overload;
    procedure SetValue(const V: Variant);
    procedure SetFormula(const F: WideString);
    procedure ClearValues;
    procedure Clear;
    procedure ClearAll;
    procedure SetFontIndex(AIdx: Integer);
    procedure SetFillIndex(AIdx: Integer);
    procedure SetBorderIndex(AIdx: Integer);
    procedure SetNumberFormatIndex(AIdx: Integer);
    procedure SetAlignmentIndex(AIdx: Integer);
    procedure SetNumberFormat(const Fmt: WideString);
    procedure SetBorders(Kind: TXLSXBorderEdgeKind; Style: TXLSXBorderStyle); overload;
    procedure SetBorders(Kind: TXLSXBorderEdgeKind; Style: TXLSXBorderStyle; Color: LongWord); overload;
    procedure SetLocked(ALocked: Boolean);
    procedure SetFormulaHidden(AHidden: Boolean);
    procedure AutoFitColumns(AMinWidth: Double = 0; AMaxWidth: Double = 0);
    procedure AutoFitRows(AMinHeight: Double = 0; AMaxHeight: Double = 0);
    procedure Merge; overload;
    procedure Merge(Across: OleVariant); overload;
    procedure Unmerge;
    function Offset(DRow, DCol: Integer): TXLSXRange;
    function Resize(NewRowCount, NewColCount: Integer): TXLSXRange;
    procedure Sort(AKeyColumn: Integer; ADescending: Boolean = False); overload;
    procedure Sort(const AKeyColumns: array of Integer; const ADescending: array of Boolean); overload;
    procedure ApplyBuiltinStyle(AStyle: TXLSXBuiltinCellStyle);
    procedure CopyTo(ADestRow, ADestCol: Integer);
    procedure MoveTo(ADestRow, ADestCol: Integer);
    procedure InsertRows;
    procedure DeleteRows;
    procedure InsertCols;
    procedure DeleteCols;
  end;
      

Элементы

NameИмя вкладки листа, отображаемое в Excel
SetWorkbook / WorkbookЗадает и предоставляет обратную ссылку на книгу, используемую помощниками ячеек и общими ресурсами книги, такими как общие форматы чисел, заливки, границы и поиск в таблице общих строк
CellsКоллекция ячеек. Используйте Cells.Item[Row, Col].Value См. TXLSXCells / TXLSXCell
CalculateКомпилирует и вычисляет строку формулы Excel в контексте этого листа Допускается ведущий символ = , а локальные ссылки листа, ячейки с формулами, межстраничные ссылки, именованные диапазоны, а также поддерживаемые текстовые, даты, рабочие дни, инженерные/преобразования систем счисления, побитовые, статистические, агрегатные и математические функции вычисляются общим вычислителем формул книги
GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / CheckDataValidationGetCellVisibleFormat вычисляет эффективный стиль в координате, не создавая пустую ячейку. Subtotal группирует отсортированный прямоугольник по изменениям абсолютного столбца листа, принимает Excel SUBTOTAL номера функций от 1 до 11 или от 101 до 111, вставляет строки формул и строки структуры и возвращает количество вставленных строк. SubtotalDefaultEnglishString отображает номер функции SUBTOTAL в её английское имя (например 1 в Average и 9 в Total). CheckDataValidation возвращает -1 для валидного кандидата или первую нарушенную проверку (отсчёт с 1) и фиксирует изменения, только когда SetIfValid равен true и все применимые правила проходят
ForEachCell / ForEachFormattedCell / ForEachRow / FindText / ReplaceText / WriteCells / WriteRowsХелперы для сканирования загруженных ячеек и строк, текстового поиска, замены текста и заполнения диапазонов. ForEachCell проходит существующие ячейки в порядке строк со значением и текстом формулы. ForEachFormattedCell проходит заполненные ячейки в порядке строк/столбцов, доставляя отображаемый текст каждой ячейки с применённым числовым форматом, и возвращает количество посещённых, учитывая отмену через колбэк. ForEachRow Вспомогательные методы для сканирования загруженных ячеек и строк, поиска текста, замены текста и заполнения диапазонов. Метод FindText обходит существующие ячейки в порядке строк со значением и текстом формулы. Метод ReplaceText обходит существующие строки в порядке строк и сообщает первый и последний загруженный столбцы каждой строки. Методы FindTextIn и ReplaceTextIn сканируют загруженные текстовые ячейки в порядке строк, пропускают формулы и нетекстовые значения и могут выполнять поиск с учетом регистра. Метод WriteCells запрашивает значения для числового диапазона или диапазона в формате A1 и поддерживает пропуск отдельных ячеек и отмену. Метод WriteRows запрашивает массив Variant для каждой строки и поддерживает пропуск всей строки и отмену
MergedCellsКоллекция объединенных диапазонов. См TXLSXMergedCells
HyperlinksКоллекция гиперссылок. См TXLSXHyperlinks
CommentsКоллекция комментариев ячеек. См TXLSXComments
Tables / AddTableОбласть таблицы в стиле Excel на листе. См TXLSXTable / TXLSXTables
Charts / AddChartКоллекция встроенных диаграмм. См TXLSXChart / TXLSXCharts Перечисление типов диаграмм поддерживает гистограммы, линейчатые, графики, круговые, с областями, кольцевые, точечные, пузырьковые и лепестковые диаграммы Для полностраничной диаграммы используйте метод Workbook.AddChartSheet(...)
AddTextBox / TextBoxCount / TextBox / FindTextBoxAtСоздает, перечисляет, находит, удаляет и очищает отдельные графические текстовые поля, привязанные к прямоугольникам ячеек Методы IndexOfTextBoxAt и FindTextBoxAt находят первое текстовое поле, содержащее ячейку, а методы DeleteTextBoxAt, DeleteTextBoxesInRange, DeleteTextBox, и ClearTextBoxes удаляют отдельные или сгруппированные текстовые поля, не затрагивая комментарии ячеек
AddHyperlinkToCell overloadsВнутренняя якорная гиперссылка — переходит к расположению Sheet!Cell в другом месте книги. Связь в rels не создается. См TXLSXHyperlink.Location
RowOutlineLevel / ColOutlineLevelУровень вложенности группы (0..7) для соответствующей строки или столбца. Метод сохранения выводит outlineLevel="N" в записи строки/столбца
RowHidden / ColHiddenBoolean — скрывает строку или столбец из вида (hidden="1")
RowCollapsed / ColCollapsedBoolean — отмечает строку или столбец, родительская группа которых свернута (collapsed="1")
FreezePanes(Row, Col) / UnfreezePaneЗадает закрепление областей — верхние Row строк и левые Col столбцов остаются видимыми при прокрутке остальной части. Свойства FreezeCol и FreezeRow доступны только для чтения и возвращают текущее закрепление
SetPageMargins / Page setup propertiesВсе шесть полей, а также свойства PageLandscape, PaperSize, PageScale, FitToWidth, FitToHeight, HeaderText, FooterText, LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter, CenterHorizontally, и CenterVertically. Установка любого из них активирует соответствующие блоки <pageMargins>, <pageSetup>, и <headerFooter> при сохранении. По возможности используйте именованные константы xlsxPaper* , такие как xlsxPaperLetter, xlsxPaperA4, xlsxPaperA3, и xlsxPaperLegal , вместо числовых кодов размеров бумаги Excel
VisibilityВидимость листа: xlsxSheetVisible (по умолчанию), xlsxSheetHidden (скрыт, но может быть отображен через интерфейс Excel) или xlsxSheetVeryHidden (для отображения требуется VBA или код). Метод сохранения выводит атрибут state в элементе <sheet> файла xl/workbook.xmlVisible является удобным псевдонимом типа Boolean для стандартных операций отображения или скрытия
SetIsSelected / IsSelectedПри значении Trueвкладка листа отображается как выбранная (выделенная). Одновременно может быть выбрано несколько листов Метод сохранения выводит tabSelected="1" в соответствующем элементе <sheetView>
AutoFitColumn / AutoFitColumnsAutoFitColumn(Col, MinWidth, MaxWidth) измеряет каждую ячейку в столбце и устанавливает ColWidth[Col] в соответствии с самым широким содержимым (символ ASCII = 1 ед., CJK = 2 ед., масштаб шрифта Calibri 11pt), а затем применяет необязательные ограничения минимальной и максимальной ширины Метод AutoFitColumns(Min, Max, MinWidth, MaxWidth) выполняет итерацию по диапазону столбцов, ограниченному последним столбцом, содержащим ячейки
AutoFitRow / AutoFitRowsAutoFitRow(Row, MinHeight, MaxHeight) устанавливает RowHeight[Row] в соответствии с содержимым самой высокой ячейки в этой строке (в пунктах), а затем применяет необязательные ограничения минимальной и максимальной высоты Метод AutoFitRows(Min, Max, MinHeight, MaxHeight) выполняет итерацию по диапазону строк, ограниченному последней строкой, содержащей ячейки
InsertRows / DeleteRowsInsertRows(BeforeRow, Count) сдвигает каждую строку на уровне BeforeRow или ниже вниз на Count. Метод DeleteRows(StartRow, Count) удаляет строки в диапазоне [StartRow, StartRow+Count-1] и подтягивает оставшуюся часть вверх. Оба метода каскадно обновляют ячейки, объединенные диапазоны, высоту строк, уровни структуры, флаги скрытия, гиперссылки, комментарии, закрепление областей, а также ссылки автофильтров / условного форматирования / проверки данных, таблицы, формулы ячеек, формулы условного форматирования / проверки данных, внутренние цели гиперссылок, ссылки параметров печати, ручные разрывы страниц, критерии столбцов автофильтра, диапазоны серий диаграмм и именованные диапазоны, указывающие на редактируемый лист, якоря изображений и диаграмм
InsertCols / DeleteColsАналогично методам InsertRows / DeleteRows , но для столбцов. Также обновляются ширина столбцов, уровни структуры и флаги скрытия
AddRowBreak / AddColBreakAddRowBreak(N) вставляет ручной разрыв страницы перед строкой N (то есть строка N начинает новую печатную страницу). Метод AddColBreak(N) вставляет разрыв перед столбцом N. Метод сохранения записывает элементы <rowBreaks> / <colBreaks> в XML листа
HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreakЗапрашивает или находит один ручной разрыв по его индексу «перед»
RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRangeУдаляет один ручной разрыв или все разрывы в закрытом интервале строк/столбцов; помощники диапазона принимают перевернутые координаты и возвращают количество удаленных разрывов
ClearRowBreaks / ClearColBreaks / ClearAllPageBreaksУдаляет все разрывы строк, все разрывы столбцов или и те, и другие
RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i]Перебирает сохранённые индексы разрывов (значения «Before» с отсчётом с 1)
KeepRowLinkLevel / KeepColLinkLevelВозвращает самый сильный уровень «держать вместе», связывающий строку (или столбец) после данного индекса с блоком выше (или левее), или 0 Итерирует сохраненные индексы разрывов (значения «перед», начиная с 1)
PrintGridlines / PrintHeadingsПри значении Trueметод сохранения выводит printGridLines="1" / printRowColHeadings="1" внутри <printOptions> , чтобы сетка ячеек или заголовки строк/столбцов отображались на печатной странице
BlackAndWhite / Draft / PrintNotes / PrintOverThenDownПараметры печати в <pageSetup>: BlackAndWhite выполняет рендеринг в черно-белом режиме; Draft отключает графику для ускорения предварительного просмотра; PrintNotes выводит комментарии ячеек в текущем виде; PrintOverThenDown переключает порядок страниц сначала слева направо вместо порядка сверху вниз
PrintAreaПрямоугольная область печати Excel (например, "$A$1:$D$10"). Записывается как <definedName name="_xlnm.Print_Area"> на уровне книги с областью видимости для этого листа. Пустая строка = не задано
PrintTitleRows / PrintTitleColsДиапазоны строк или столбцов, которые повторяются на каждой печатной странице (например, "$1:$3" или "$A:$B"). Записывается как <definedName name="_xlnm.Print_Titles">
SetAutoFilter / AutoFilterRangeЗадаёт диапазон фильтра (например "A1:C100"); SaveAs записывает <autoFilter ref="..."/>
AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumnsКритерии фильтрации по столбцам, привязанные к диапазону автофильтра. AddAutoFilterColumn(ColId, Op, Criteria) добавляет фильтр с одним критерием; перегрузка с двумя критериями добавляет пару AND/OR AutoFilterColumns.FindByColId(ColId) возвращает существующий объект критериев, а AutoFilterColumns.DeleteByColId(ColId) удаляет его без ручного сканирования Items, и AutoFilterColumns.ClearCriteria очищает все критерии столбцов, сохраняя диапазон фильтра ColId — это смещение с нулевой базой внутри диапазона автофильтра (не столбец листа). SaveAs записывает <filterColumn> внутри <autoFilter>
AutoFilterRowVisible / PreviewAutoFilterRows / ApplyAutoFilterAutoFilterRowVisible(Row) вычисляет сохранённые критерии автофильтра XLSX для одной строки данных. PreviewAutoFilterRows walks the data rows in AutoFilterRange, сообщает видимое состояние каждой строки через колбэк, возвращает количество посещённых видимых строк и не меняет флаги скрытия строк. ApplyAutoFilter применяет критерии автофильтра, скрывает несовпадающие строки и возвращает, удалось ли
Protect / UnProtect / IsProtectedПереключатель защиты на уровне листа с необязательным 16-битным устаревшим хэшем пароля. Отображается в виде элемента <sheetProtection>
AllowOption / SheetProtectionOptions15 детализированных опций разрешений защиты (таких как форматирование ячеек, вставка строк/столбцов, сортировка, автофильтрация, выбор заблокированных/разблокированных ячеек и так далее), соответствующих списку разрешений Excel «Защитить лист»
PageSetupTouched / SheetProtectHashИспользуйте свойство PageSetupTouched для проверки того, были ли значения параметров страницы изменены явно, и свойство SheetProtectHash для чтения/записи текстового значения устаревшего 16-битного хэша защиты листа, используемого старыми форматами файлов XLS
AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormatМетоды для создания, копирования и форматирования сводных таблиц. AddPivotTable строит сводную таблицу из исходного диапазона в нотации A1, например 'Data!A1:C9', и привязывает её к 1-индексной ячейке DestRow, DestCol; для некорректного источника или якоря за пределами листа возвращает nil. AddPivotTableCopy делает глубокую копию существующей сводной таблицы — из этой или другой книги — под новым 1-индексным якорем на этом листе (пустое NewName даёт '<source> (2)'). PivotSetDataFieldFormat регистрирует числовой формат для поля данных и возвращает индекс этого числового формата
PivotTablesКоллекция сводных таблиц, определенных на этом листе
MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCMПоля параметров страницы, выраженные в сантиметрах
TabColor / TabColorIsAutoЦвет ARGB для вкладки листа в Excel; присваивание TabColor устанавливает TabColorIsAuto в False, а TabColorIsAuto = True (по умолчанию) подавляет вывод дочернего элемента <tabColor> в <sheetPr>
IsChartSheetПри значении True метод сохранения записывает лист в xl/chartsheets/sheetN.xml вместо xl/worksheets/sheetN.xml и размещает Charts[0] на всю страницу. Для стандартной настройки используйте вспомогательный метод Workbook.AddChartSheet(...)
ViewРежим просмотра листа. Допустимые значения: xlsxNormalView, xlsxPageBreakPreviewи xlsxPageLayoutView. Метод сохранения записывает соответствующий атрибут view в <sheetView>; метод открытия считывает его обратно
ZoomПроцент масштабирования вида листа (от 10 до 400; по умолчанию 100, ограничивается при присвоении). Выводит zoomScale="N" внутри <sheetView>; значение по умолчанию опускается, чтобы не измененные листы оставались чистыми
DisplayGridLinesПри значении Falseскрывает линии сетки ячеек в режиме просмотра листа. По умолчанию True. Выводит showGridLines="0" при значении False
DisplayZerosПри значении Falseячейки с нулевым значением отображаются пустыми вместо «0». По умолчанию True. Выводит showZeros="0" при значении False
DisplayRightToLeftПри значении Trueлист отображается в направлении справа налево (столбец A справа), что подходит для текста на арабском языке или иврите. Выводит rightToLeft="1"
StandardWidthШирина столбца по умолчанию в единицах ширины символа Excel (например, 8.43 = встроенное значение по умолчанию). Установка значения > 0 выводит <sheetFormatPr defaultColWidth="..."/>0 означает, что ширина не задана (элемент опускается)
StandardHeightВысота строки по умолчанию в пунктах (например, 15 = встроенное значение по умолчанию). Установка значения > 0 выводит defaultRowHeight="..." в элементе <sheetFormatPr>0 означает, что высота не задана
ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRangeОперации с диапазонами ячеек. Методы CopyRange и CopyRangeTo дублируют значения, формулы, индексы стилей и форматированный текст; метод CopyFrom дублирует все содержимое и настройки листа (включая объединенные ячейки, параметры страницы, состояние просмотра, автофильтры и так далее); эти три копируют только содержимое ячеек, поэтому примечания остаются на месте, а CloneRangeTo или Sheets.AddCopy переносит примечания вместе с их фрагментами форматированного текста; метод MoveRange пропускает перекрытие назначения; метод SortRange сортирует строки внутри прямоугольника по одному или нескольким абсолютным ключевым столбцам; метод ClearRange удаляет ячейки; метод ClearRangeValues очищает значения и формулы, сохраняя индексы стилей
Range / RCRange / UsedRangeВозвращают принадлежащие листу оболочки TXLSXRange для ссылок A1, числовых координат (начиная с 1) или заполненной области листа. Метод TXLSXRange.SaveAsHTML(FileName) и TXLSXRange.SaveAsHTML(Stream) экспортируют только выбранный диапазон в виде таблицы HTML в кодировке UTF-8. Оболочки диапазона также предоставляют вспомогательные методы для пакетной установки значений, формул, индексов стилей, форматов чисел, границ, флагов защиты, автоподбора размеров, объединения, смещения, изменения размера, многоключевой сортировки, встроенных стилей ячеек, копирования/перемещения и вставки/удаления целых строк или столбцов
EntireRow / EntireColumnВозвращают диапазоны целых строк или целых столбцов для указанного индекса, подходящие для структурных операций или распространения стилей
MergeCells(R1, C1, R2, C2)Добавляет объединенный прямоугольник и возвращает индекс новой записи Координаты начинаются с 1, включительно с обоих концов. Эквивалентно вызову MergedCells.Add(R1, C1, R2, C2). Для кода в стиле диапазона вызов Range['A1:C3'].Merge(True) создает по одному объединенному диапазону для каждой строки, что соответствует поведению объединения по строкам в Excel
FillMergedCellValuesДобавляет внешнюю гиперссылку URL к одной ячейке Параметры
FormControlsКоллекция элементов управления форм листа (кнопки, флажки, переключатели, выпадающие списки, списки), созданных семейством helper-функций AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox . Каждая запись раскрывает прямоугольник привязки, связанную ячейку и тип элемента управления
AddHyperlink overloadsДобавляет гиперссылку на внешний URL к одной ячейке Display и Tooltip являются необязательными. Эквивалентно вызову Hyperlinks.Add(...)
AddComment overloadsДобавляет комментарий к одной ячейке. Параметр Author является необязательным. Эквивалентно вызову Comments.Add(...)
ColWidth[Col]Ширина столбца в единицах Excel (та же шкала, что и в диалоговом окне ширины столбца в Excel). Чтение незаданного столбца возвращает 0; присвоение значения устанавливает ширину для этого столбца (индексация с 1). При сохранении выводится одна запись <col> для каждого настроенного столбца; при открытии блок <cols> загружается обратно в карту
RowHeight[Row]Высота строки в пунктах (та же шкала, что и в диалоговом окне высоты строки в Excel). Чтение незаданной строки возвращает 0; присвоение значения устанавливает высоту для этой строки (индексация с 1). При сохранении записываются атрибуты ht и customHeight="1" для каждой строки с настраиваемой высотой, даже для строк, которые содержат только высоту без данных ячеек <row> с пользовательской высотой, даже строки, которые несут только высоту без данных в ячейках
SetColWidth / SetRowHeightПрямые методы установки, используемые индексированными свойствами выше Предоставляются как именованные методы для вызывающих программ, которые предпочитают не использовать синтаксис свойств
HasColWidth / HasRowHeightВозвращает True , если лист имеет настраиваемую ширину или высоту для указанного индекса. Используйте это, чтобы отличить значение «не задано» от намеренно установленного значения 0 value
ClearColWidths / ClearRowHeightsСбрасывает каждую настраиваемую ширину или высоту обратно к значению по умолчанию в Excel
ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsedСбрасывает каждое переопределение скрытия/свертывания строки или столбца обратно к состоянию по умолчанию (видимое и развернутое)
ImagesКоллекция изображений. Используйте методы AddImage / AddImageFromFile в качестве удобных точек входа. См. TXLSXImage / TXLSXImages
HeaderFooterImagesПравила условного форматирования для этого листа Используйте метод TXLSXHeaderFooterImage / TXLSXHeaderFooterImages
ConditionalFormatsПравила условного форматирования для этого листа Используйте AddConditionalFormat в качестве удобной точки входа См. TXLSXConditionalFormat / TXLSXConditionalFormats
DataValidationsПравила проверки данных для этого листа. Используйте методы AddDataValidation / AddListValidation в качестве удобных точек входа. См TXLSXDataValidation / TXLSXDataValidations
IgnoredErrorsТипизированные метаданные подавления ошибок листа Каждая TXLSXIgnoredError объединяет разделённый пробелами многодиапазонный SqRef со стандартными флагами вычисления, даты, числа-как-текст, формулы, незаблокированной формулы, пустой ссылки, проверки данных и вычисляемого столбца Записи переживают копирование листов и циклы открытия/сохранения, а их диапазоны следуют за вставкой или удалением строк и столбцов
AddImage / AddImageFromFileДобавляет изображение, привязанное к ячейке. Метод AddImage принимает массив байтов и формат TXLSXImageFormat; AddImageFromFile считывает файл и определяет его формат по расширению Эквивалентно вызову метода Images.Add для коллекции
AddConditionalFormat overloadsДобавляет правило условного форматирования cellIs Эквивалентно вызову ConditionalFormats.Add(...)
AddCondFormatExpression / text / rank / average / duplicate / blank / error helpersДобавляет специализированные правила условного форматирования для формул, сопоставления текста, верхних/нижних рангов, значений выше/ниже среднего, дублирующихся или уникальных значений, пустых, непустых ячеек, ошибок и отсутствия ошибок. Возвращаемый индекс можно использовать с ConditionalFormats[Index].Style для применения форматирования
AddWholeNumberValidation / AddWholeNumberValidation overloads / Whole whole-number validationsДобавляет правила валидации целых чисел с поддержкой диапазонов или критериев
ProtectedRangesКоллекция защищенных диапазонов ячеек, требующих ввода пароля на листе
RawWorksheetExtsПредоставляет данные списка расширений листа в сыром формате XML для прямой вставки
SparklineGroups / AddSparklineGroupУправляет встроенными мини-диаграммами (спарклайнами) внутри ячеек. Метод AddSparklineGroup создает группу, ссылающуюся на диапазон данных
ThreadedComments / AddThreadedComment / AddThreadedReplyПоддерживает современные древовидные цепочки комментариев (ответы). Метод AddThreadedComment создает цепочку комментариев верхнего уровня, а метод AddThreadedReply добавляет ответ
AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChartБыстрые методы для работы с диаграммами Excel. Метод AddChartFromRange создает встроенную диаграмму непосредственно из данных ячеек
GetSheetProtectOption / SetSheetProtectOptionПолучает или устанавливает программно конкретные флаги разрешений защиты листа
PasteFromClipboardВставляет содержимое из буфера обмена непосредственно начиная с указанных координат
AlignWithMarginsОпределяет, выравниваются ли поля страницы по содержимому листа
CodeNameЗадает программное имя листа (VBA CodeName)
ConsolidateXmlПредоставляет необработанные консолидированные данные XML
DifferentFirstВключает отдельные колонтитулы для первой страницы
DifferentOddEvenВключает отдельные колонтитулы для четных и нечетных страниц
EvenFooterText / EvenHeaderTextТекстовые строки колонтитулов для четных страниц
FirstFooterText / FirstHeaderTextТекстовые строки колонтитулов для первой страницы
FirstPageNumberНомер первой страницы при печати
GridColorЦвет линий сетки листа
HorizontalDpi / VerticalDpiРазрешение печати (DPI) для горизонтальной и вертикальной осей
OutlineLevelCol / OutlineLevelRowУровень структуры по умолчанию для столбцов и строк
PaneStateСостояние прокрутки закрепленной области
PhoneticAlignment / PhoneticFontId / PhoneticTypeВыравнивание фонетического текста руби (CJK), индекс его шрифта и фонетический тип
PrintErrorsCell error printing behavior
ScaleWithDocМасштабирует колонтитулы вместе с масштабом документа
ScenariosXML-содержимое сценариев «что-если» CurrentIndex, ShownIndex, and SqRef раскрывают состояние диспетчера сценариев на уровне листа
ScenariosXmlУстаревший запасной вариант на сыром внутреннем XML, используемый, только когда типизированный Scenarios Криптографические свойства современных хэшей паролей защиты листа
SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCountОтображает формулы вместо значений
ShowFormulasОтображает символы групп структуры
ShowOutlineSymbolsТипизированные критерии сортировки и точное XML-содержимое параметров сортировки
SortState / SortStateXmlПоложение итоговых строк и столбцов структуры
SummaryBelow / SummaryRightИспользует явное начало нумерации страниц
UseFirstPageNumberИспользует настройки принтера по умолчанию (DEVMODE)
UsePrinterDefaultsСкрывает новые вставляемые строки по умолчанию
ZeroHeightЗначения масштаба для обычного режима, разметки страницы и режима просмотра разрывов страниц
ZoomNormal / ZoomPageLayout / ZoomSheetLayoutДобавляет фигурный текст WordArt на лист
AddWordArtОптимизирует хранилище ячеек последовательно для построчного обхода
BuildRowMajorCellOrderОчищает все необработанные несопоставленные XML-якоря графических фигур
ClearRawDrawingAnchorsСоздает экземпляр механизма вычисления условного форматирования
CreateConditionalFormatEvaluatorУправляет необработанными несопоставленными XML-якорями графических фигур
RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchorЭкспортирует лист в файл или поток PDF AddRawDrawingAnchor дописывает полный <xdr:...Anchor> блок, сохранённый дословно для обратного цикла, и возвращает новый TXLSXDrawingObject
BringToFront / SendToBack / BringForward / SendBackwardИзменяет порядок объекта рисования в z-порядке листа: BringToFront поднимает его над всеми остальными рисунками, SendToBack опускает под все, а варианты Forward / Backward сдвигают его на одну позицию
SaveAsPDFЭкспортирует лист в PDF-файл или поток
TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevelЗапрашивает или идемпотентно меняет учитывающие направление итоговые узлы строк и столбцов через общую разреженную модель структуры; см. Sparse outline geometry
ToggleColGrouped / ToggleRowGroupedПереключает состояние свертывания группировки столбцов или строк

Правки на целые оси и копии диапазонов

Начиная с 2.384.77, целевые области условного форматирования и проверки данных принимают целые строки и столбцы при структурных правках и клонировании зависимостей; правки нормализуют корректные области, сохраняют полные протяжённости сетки и отбрасывают цели, чьи строки или столбцы удалены
Копии ячеек на целые строки, столбцы и листы обходят сохранённые ячейки, сохраняют разреженную очистку приёмника и фиксируют содержимое источника до очистки перекрывающегося приёмника; копирование пустого диапазона на целые оси не порождает его пустых координат
Межкнижные копии по-прежнему перемапят форматирование и rich text по значению, а полные и частичные копии CSE-массивов сохраняют прежние формульные контракты
Начиная с 2.384.78, копии диапазонов ячеек также фиксируют пересекающиеся виртуальные наложения стилей до мутации, обрезают явные наложения приёмника по скопированному прямоугольнику и перемапят каждую скопированную часть форматирования между книгами, включая явные сбросы в индекс ноль
Умолчания приёмника на целые оси остаются компактными и маскируются внутри скопированного прямоугольника до наложения слоёв источника; копирование пустого источника очищает прежнее явное наложенное форматирование внутри этого прямоугольника, сохраняет форматирование снаружи и не создаёт ячейку на каждую покрытую координату
Клонированные условные и валидационные правила требуют, чтобы все целевые области находились внутри исходного прямоугольника; правила, которые лишь пересекаются с ним, пропускаются, а приёмник, выходящий за сетку листа, отклоняется до копирования
Конечные повторяющиеся пустые стили, импортированные из ODS, добавляют обе границы в используемый диапазон; наложения стилей по умолчанию на целые строки, столбцы и листы не расширяют его только потому, что накрывают пустые координаты

Пример

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;
    

См. также