Dokumentace HotXLS

Třída TXLSXWorksheet

Jeden list uvnitř TXLSXWorkbook Vlastní kolekci buněk plus kolekce sloučených buněk, hypertextových odkazů a komentářů. Deklarováno v lxHandleX

Deklarace

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;
      

Členové

NameNázev záložky listu tak, jak jej zobrazuje Excel
SetWorkbook / WorkbookNastaví a vystaví zpětnou referenci na sešit, kterou používají helpery buněk a helpery sdílené v rámci sešitu, jako jsou sdílené formáty čísel, výplně, ohraničení a vyhledávání ve shared strings
CellsKolekce buněk. Použijte Cells.Item[Row, Col].Value . Viz TXLSXCells / TXLSXCell
CalculateZkompiluje a vyhodnotí řetězec vzorce Excelu v kontextu tohoto listu. Vodicí = je přijat a list-lokální reference, odkazované vzorcové buňky, reference napříč listy, oblasti definovaných názvů a podporované textové, datové, pracovní, inženýrské/base-conversion, bitové, statistické, agregační a matematické funkce rozřeší sdílený vyhodnocovač vzorců sešitu
GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / CheckDataValidationGetCellVisibleFormat rozřeší efektivní styl na souřadnici, aniž by vytvořil prázdnou buňku. Subtotal seskupí setříděný obdélník podle změn v absolutním sloupci listu, přijímá čísla funkcí Excel SUBTOTAL 1 až 11 nebo 101 až 111, vkládá řádky se vzorci a outline řádky a vrací počet vložených řádků. SubtotalDefaultEnglishString namapuje číslo funkce SUBTOTAL na její anglický název (například 1 na Average a 9 na Total). CheckDataValidation vrací -1 pro platného kandidáta nebo 1-based index prvního porušeného pravidla a provede zápis jen tehdy, když je SetIfValid true a všechna příslušná pravidla procházejí
ForEachCell / ForEachFormattedCell / ForEachRow / FindText / ReplaceText / WriteCells / WriteRowsHelpery pro skenování načtených buněk a řádků, vyhledávání textu, nahrazování textu a plnění oblastí. ForEachCell prochází existující buňky v pořadí řádků s hodnotou a textem vzorce. ForEachFormattedCell prochází zaplněné buňky v pořadí řádek/sloupec, dodává zobrazovací text každé buňky s aplikovaným formátem čísel a vrací počet navštívených buněk, přičemž respektuje zrušení přes callback. ForEachRow prochází existující řádky v pořadí řádků a hlásí první a poslední načtený sloupec každého řádku. FindText a ReplaceText prohledávají načtené textové buňky v pořadí řádků, přeskočí vzorce a netextové hodnoty a umí rozlišovat velikost písmen; overloady s opcemi přidávají sémantiku dialogu Najít z Excelu (wildcards, shoda celé buňky, velikost písmen, hledání v textu vzorce, zpětný průchod, průchod po sloupcích) a FindTextIn / ReplaceTextIn omezí prohledávání na obdélníkové okno s volitelným replace callbackem pro každou shodu. WriteCells vyžádá hodnoty pro číselnou nebo A1-style oblast a podporuje přeskočení a zrušení na úrovni jednotlivých buněk. WriteRows vyžádá pole Variant pro každý řádek a podporuje přeskočení a zrušení celých řádků
MergedCellsKolekce sloučených oblastí. Viz TXLSXMergedCells
HyperlinksKolekce hypertextových odkazů. Viz TXLSXHyperlinks
CommentsKolekce komentářů buněk. Viz TXLSXComments
Tables / AddTableTabulka ve stylu Excelu na listu. Viz TXLSXTable / TXLSXTables
Charts / AddChartKolekce ukotvených grafů. Viz TXLSXChart / TXLSXCharts . Enum typů grafů podporuje column, bar, line, pie, area, doughnut, scatter, bubble a radar. Pro graf přes celou stránku použijte Workbook.AddChartSheet(...)
AddTextBox / TextBoxCount / TextBox / FindTextBoxAtVytváří, enumeruje, vyhledává, maže a čistí samostatné kreslicí textová pole ukotvené na obdélníky buněk. IndexOfTextBoxAt a FindTextBoxAt najdou první textové pole obsahující danou buňku, zatímco DeleteTextBoxAt, DeleteTextBoxesInRange, DeleteTextBoxa ClearTextBoxes odstraní jednotlivá nebo seskupená textová pole, aniž by sahala na komentáře buněk
AddHyperlinkToCell overloadsInterní anchor hypertextový odkaz — skočí na umístění Sheet!Cell jinde v sešitu. Negeneruje žádnou rels relaci. Viz TXLSXHyperlink.Location
RowOutlineLevel / ColOutlineLevelÚroveň zanoření skupiny (0..7) pro odpovídající řádek či sloupec. SaveAs emituje outlineLevel="N" na položce řádku / sloupce
RowHidden / ColHiddenBoolean — odstraní řádek či sloupec z pohledu (hidden="1")
RowCollapsed / ColCollapsedBoolean — označí řádek / sloupec, jehož rodičovská skupina je sbalená (collapsed="1")
FreezePanes(Row, Col) / UnfreezePaneNastaví zamrzlý rozpad — horních Row řádků a levých Col sloupců zůstane viditelných, zatímco zbytek roluje. FreezeCol a FreezeRow jsou read-only vlastnosti vystavující aktuální rozpad
SetPageMargins / Page setup propertiesVšech šest okrajů plus PageLandscape, PaperSize, PageScale, FitToWidth, FitToHeight, HeaderText, FooterText, LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter, CenterHorizontallya CenterVertically. Nastavení kteréhokoli z nich spustí při SaveAs odpovídající bloky <pageMargins>, <pageSetup>a <headerFooter> . Místo surových kódů velikostí papíru Excelu použijte, kdykoli to jde, pojmenované konstanty xlsxPaper* jako xlsxPaperLetter, xlsxPaperA4, xlsxPaperA3a xlsxPaperLegal namísto surových kódů papíru Excelu, kdykoli je to možné
VisibilityViditelnost listu: xlsxSheetVisible (výchozí), xlsxSheetHidden (skrytý, ale zobrazitelný v UI Excelu) nebo xlsxSheetVeryHidden (zobrazení vyžaduje VBA či kód). SaveAs emituje atribut state na elementu <sheet> v xl/workbook.xmlVisible je Boolean alias pro běžné skrytí či zobrazení
SetIsSelected / IsSelectedJe-li True, záložka listu se jeví jako vybraná (zvýrazněná). Vybráno může být více listů současně. SaveAs emituje tabSelected="1" na odpovídajícím <sheetView>
AutoFitColumn / AutoFitColumnsAutoFitColumn(Col, MinWidth, MaxWidth) změří každou buňku ve sloupci a nastaví ColWidth[Col] na nejširší obsah (ASCII = 1 znak, CJK = 2 znaky, měřítko Calibri 11pt), poté aplikuje volitelné minimální a maximální limity šířky. AutoFitColumns(Min, Max, MinWidth, MaxWidth) projde rozsah sloupců, oříznutý na poslední sloupec nesoucí buňky
AutoFitRow / AutoFitRowsAutoFitRow(Row, MinHeight, MaxHeight) nastaví RowHeight[Row] na nejvyšší obsah buňky v daném řádku (v bodech), poté aplikuje volitelné minimální a maximální limity výšky. AutoFitRows(Min, Max, MinHeight, MaxHeight) projde rozsah řádků, oříznutý na poslední řádek nesoucí buňky
InsertRows / DeleteRowsInsertRows(BeforeRow, Count) posune každý řádek na BeforeRow a níže dolů o Count. DeleteRows(StartRow, Count) odstraní řádky [StartRow, StartRow+Count-1] a zatáhne zbytek nahoru. Oboje se kaskádně promítne do buněk, sloučených oblastí, výšek řádků, outline úrovní, hidden příznaků, hypertextových odkazů, komentářů, zamrznutých panelů, referencí auto-filter / conditional-format / data-validation, tabulek, vzorců buněk, vzorců conditional-format / data-validation, cílů interních odkazů, referencí nastavení tisku, ručních zalomení stránek, kritérií sloupců auto-filtru, rozsahů řad grafů a definovaných názvů ukazujících na upravovaný list, anchorů obrázků a anchorů grafů
InsertCols / DeleteColsTotéž co InsertRows / DeleteRows , ale pracuje se sloupci. Aktualizují se také šířky sloupců, outline úrovně a hidden příznaky
AddRowBreak / AddColBreakAddRowBreak(N) vloží ruční zalomení stránky před řádek N (tj. řádek N začíná novou tištěnou stránku). AddColBreak(N) zalomí před sloupcem N. SaveAs zapíše <rowBreaks> / <colBreaks> do XML listu
HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreakDotáže se či vyhledá jediné ruční zalomení podle jeho indexu "before"
RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRangeOdstraní jedno ruční zalomení nebo všechna zalomení v inkluzivním intervalu řádků / sloupců; range helpery přijmou obrácené souřadnice a vrátí počet odstraněných zalomení
ClearRowBreaks / ClearColBreaks / ClearAllPageBreaksOdstraní všechna zalomení řádků, všechna zalomení sloupců, nebo obojí
RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i]Iteruje uložené indexy zalomení (1-based hodnoty "Before")
KeepRowLinkLevel / KeepColLinkLevelVrátí nejsilnější úroveň keep-together, která váže řádek (resp. sloupec) za daným indexem na blok nad (resp. vlevo), nebo 0 , pokud pozice není uvnitř keep-together bloku
PrintGridlines / PrintHeadingsJe-li True, emituje SaveAs uvnitř printGridLines="1" / printRowColHeadings="1" / <printOptions> , takže na vytištěné stránce se objeví mřížka či záhlaví řádků a sloupců
BlackAndWhite / Draft / PrintNotes / PrintOverThenDownVolby tisku v <pageSetup>: BlackAndWhite tiskne černobíle; Draft potlačí grafiku pro rychlejší náhled; PrintNotes tiskne komentáře buněk tak, jak jsou zobrazeny; PrintOverThenDown přepne pořadí stránek na nejprve zleva doprava místo nejprve shora dolů
PrintAreaObdélníková oblast, kterou Excel tiskne (např. "$A$1:$D$10"). Zapisuje se jako sešitový <definedName name="_xlnm.Print_Area"> s rozsahem na tento list. Prázdný řetězec = nenastaveno
PrintTitleRows / PrintTitleColsŘádkové či sloupcové oblasti opakující se na každé vytištěné stránce (např. "$1:$3" nebo "$A:$B"). Zapisuje se jako <definedName name="_xlnm.Print_Titles">
SetAutoFilter / AutoFilterRangeNastaví oblast filtru (např. "A1:C100"); SaveAs zapíše <autoFilter ref="..."/>
AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumnsFiltrační kritéria po sloupcích připojená k oblasti auto-filtru. AddAutoFilterColumn(ColId, Op, Criteria) přidá filtr s jediným kritériem; dvoukriteriální overload přidá dvojici AND/OR. AutoFilterColumns.FindByColId(ColId) vrátí existující objekt kritérií a AutoFilterColumns.DeleteByColId(ColId) jeden odstraní, aniž byste ručně prohledávali Items ; AutoFilterColumns.ClearCriteria vyčistí všechna kritéria sloupců, ale zachová oblast filtru. ColId je 0-based offset v rámci oblasti auto-filtru (nikoli sloupec listu). SaveAs zapisuje potomky <filterColumn> uvnitř <autoFilter>
AutoFilterRowVisible / PreviewAutoFilterRows / ApplyAutoFilterAutoFilterRowVisible(Row) vyhodnotí uložená kritéria XLSX AutoFilter pro jeden datový řádek. PreviewAutoFilterRows projde datové řádky v AutoFilterRange, hlásí viditelnost každého řádku přes callback, vrátí počet navštívených viditelných řádků a nemění hidden příznaky řádků. ApplyAutoFilter aplikuje kritéria autofiltru, skryje neodpovídající řádky a vrátí, zda se to povedlo
Protect / UnProtect / IsProtectedPřepínač ochrany na úrovni listu s volitelným 16bit legacy hashem hesla. Promítá se jako <sheetProtection>
AllowOption / SheetProtectionOptions15 jemně granulovaných voleb oprávnění ochrany (jako formátování buněk, vkládání řádků/sloupců, řazení, auto-filtr, výběr uzamčených/odemčených buněk apod.), odpovídající seznamu oprávnění dialogu "Protect Sheet" v Excelu
PageSetupTouched / SheetProtectHashUse PageSetupTouched zjistí, zda byly hodnoty nastavení stránky explicitně změněny, a SheetProtectHash čte/zapisuje text legacy 16bit hashe ochrany listu používaný legacy formáty souborů XLS
AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormatMetody pro tvorbu, kopírování a formátování kontingenčních tabulek. AddPivotTable sestaví kontingenční tabulku ze zdrojové oblasti v notaci A1, například 'Data!A1:C9', a ukotví ji do buňky DestRow, DestCol počítané od 1; pro neplatný zdroj nebo ukotvení mimo oblast listu vrátí nil. AddPivotTableCopy vytvoří hlubokou kopii existující kontingenční tabulky — z tohoto nebo jiného sešitu — na novém ukotvení počítaném od 1 na tomto listu (prázdný NewName dá '<source> (2)'). PivotSetDataFieldFormat zaregistruje číselný formát datového pole a vrátí jeho index číselného formátu
PivotTablesKolekce kontingenčních tabulek definovaných na tomto listu
MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCMOkraje nastavení stránky vyjádřené v centimetrech
TabColor / TabColorIsAutoBarva ARGB pro záložku listu v Excelu; přiřazení TabColor nastaví TabColorIsAuto na False TabColorIsAuto = True (výchozí) potlačí potomka <tabColor> elementu <sheetPr>
IsChartSheetJe-li True, zapíše SaveAs list do xl/chartsheets/sheetN.xml místo xl/worksheets/sheetN.xml a umístí Charts[0] přes celou stránku. Pro běžné použití sáhněte po helperu Workbook.AddChartSheet(...) helper for the typical setup
ViewRežim zobrazení listu. Hodnoty jsou xlsxNormalView, xlsxPageBreakPreviewa xlsxPageLayoutView. SaveAs zapíše odpovídající atribut view do <sheetView>; Open si jej přečte zpět
ZoomProcento přiblížení zobrazení listu (10–400; výchozí 100, při přiřazení oříznuto). Emituje zoomScale="N" uvnitř <sheetView>; výchozí hodnota se nezapisuje, takže nedotčené listy zůstávají čisté
DisplayGridLinesJe-li False, skryje v zobrazení listu čáry mřížky buněk. Výchozí True. Emituje showGridLines="0" , je-li False
DisplayZerosJe-li False, buňky s nulovou hodnotou se zobrazí jako prázdné místo "0". Výchozí True. Emituje showZeros="0" , je-li False
DisplayRightToLeftJe-li True, zobrazí se list v rozvržení zprava doleva (sloupec A vpravo), vhodné pro arabský či hebrejský text. Emituje rightToLeft="1"
StandardWidthVýchozí šířka sloupce ve znakových jednotkách Excelu (např. 8.43 = vestavěný default). Hodnota > 0 emituje <sheetFormatPr defaultColWidth="..."/>0 = nenastaveno (element se nezapisuje)
StandardHeightVýchozí výška řádku v bodech (např. 15 = vestavěný default). Hodnota > 0 emituje defaultRowHeight="..." na <sheetFormatPr>0 = nenastaveno
ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRangeOperace nad oblastmi buněk. CopyRange a CopyRangeTo duplikují hodnoty, vzorce, indexy stylů a rich-text payloady; CopyFrom duplikuje obsah a nastavení celého listu (včetně sloučených buněk, nastavení stránky, stavu zobrazení, auto-filtrů apod.); tyto tři kopírují jen obsah buněk, takže komentáře zůstávají pozadu, a CloneRangeTo nebo Sheets.AddCopy přenáší komentáře i s jejich rich-text běhy; MoveRange přeskočí překryv s cílem; SortRange seřadí celé řádky v obdélníku podle jednoho či více absolutních klíčových sloupců; ClearRange odstraní buňky; ClearRangeValues vyčistí hodnoty a vzorce, ale zachová indexy stylů
Range / RCRange / UsedRangeVrátí obálky TXLSXRange vlastněné listem pro reference A1, 1-based číselné souřadnice nebo closure zaplněného listu. TXLSXRange.SaveAsHTML(FileName) a TXLSXRange.SaveAsHTML(Stream) exportují pouze vybranou oblast jako HTML tabulku v UTF-8. Obálky oblastí dále nabízejí dávkové hodnoty, vzorce, indexy stylů, formáty čísel, ohraničení, příznaky ochrany, auto-fit, sloučení, offset, změnu velikosti, řazení podle více klíčů, vestavěné styly buněk, kopírování/přesun a helpery pro vložení/smazání celých řádků či sloupců
EntireRow / EntireColumnVrátí oblasti celého řádku či celého sloupce pro zadaný index, vhodné pro strukturní operace nebo šíření stylů
MergeCells(R1, C1, R2, C2)Přidá sloučený obdélník a vrátí index nové položky. Souřadnice jsou 1-based, na obou koncích inkluzivní. Ekvivalent MergedCells.Add(R1, C1, R2, C2). V range-stylu kódu zapíše Range['A1:C3'].Merge(True) jednu sloučenou oblast na řádek, stejně jako příkaz merge-across v Excelu
FillMergedCellValuesZkopíruje hodnotu ukotvení (anchor) každé sloučené oblasti do všech překrytých buněk, takže reportové listy se pak čtou jako jedna plochá mřížka. Prázdné či null anchores se přeskočí, takže předvyplněné sloučení si ponechají svůj obsah; vrátí se počet vyplněných buněk
FormControlsKolekce formulářových ovládacích prvků listu (tlačítka, zaškrtávací pole, přepínače, combo boxy, list boxy) vytvářených rodinou helperů AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox . Každá položka vystavuje anchor obdélník, propojenou buňku a typ ovládacího prvku
AddHyperlink overloadsPřidá externí URL hypertextový odkaz na jednu buňku. Display a Tooltip jsou volitelné. Ekvivalent Hyperlinks.Add(...)
AddComment overloadsPřidá komentář k jedné buňce. Author je volitelný. Ekvivalent Comments.Add(...)
ColWidth[Col]Šířka sloupce v jednotkách Excelu (stejné měřítko jako dialog šířky sloupce v Excelu). Čtení nenastaveného sloupce vrátí 0; přiřazení hodnoty nastaví šířku daného 1-based sloupce. SaveAs emituje jednu položku <col> pro každý upravený sloupec; Open přehraje blok <cols> zpět do mapy
RowHeight[Row]Výška řádku v bodech (stejné měřítko jako dialog výšky řádku v Excelu). Čtení nenastaveného řádku vrátí 0; přiřazení hodnoty nastaví výšku daného 1-based řádku. SaveAs zapíše atributy ht a customHeight="1" na každý <row> s vlastní výškou, dokonce i na řádky nesoucí jen výšku bez dat buněk
SetColWidth / SetRowHeightPřímé settery používané indexovanými vlastnostmi výše. Nabízené jako pojmenované metody pro volající, kteří preferují nepoužívat syntaxi vlastností
HasColWidth / HasRowHeightVrátí True , má list pro daný index upravenou šířku či výšku. Použijte k rozlišení "nenastaveno" od záměrné hodnoty 0 value
ClearColWidths / ClearRowHeightsVrátí každou upravenou šířku či výšku zpět na default Excelu
ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsedVrátí každý hidden/collapsed override řádku či sloupce zpět na výchozí viditelný a rozbalený stav
ImagesKolekce obrázků. Použijte AddImage / AddImageFromFile jako nejpohodlnější vstupní body. Viz TXLSXImage / TXLSXImages
HeaderFooterImagesTypované sloty obrázků pro liché, sudé a první stránky v záhlaví i zápatí, s nezávislými vlastnostmi pozice, velikosti, okraje, formátu, dat a titulku. Viz TXLSXHeaderFooterImage / TXLSXHeaderFooterImages
ConditionalFormatsPravidla podmíněného formátování tohoto listu. Použijte AddConditionalFormat jako nejpohodlnější vstup. Viz TXLSXConditionalFormat / TXLSXConditionalFormats
DataValidationsPravidla ověřování dat tohoto listu. Použijte AddDataValidation / AddListValidation jako nejpohodlnější vstupy. Viz TXLSXDataValidation / TXLSXDataValidations
IgnoredErrorsTypovaná metadata pro potlačení chyb listu. Každá TXLSXIgnoredError kombinuje multi-area SqRef oddělený bílými znaky s příznaky standardní evaluace, data, uloženého čísla, vzorce, odemčeného vzorce, prázdné reference, data-validation a počítaného sloupce. Položky přežijí kopie listu i Roundtrip open/save a jejich oblasti sledují vkládání či mazání řádků a sloupců
AddImage / AddImageFromFile; TXLSXImageFormatnačte soubor a odvodí formát z přípony. Ekvivalent Images.Add na kolekci
AddConditionalFormat overloadsPřidá pravidlo podmíněného formátování cellIs. Ekvivalent ConditionalFormats.Add(...)
AddCondFormatExpression / text / rank / average / duplicate / blank / error helpersPřidá specializovaná pravidla podmíněného formátování pro vzorce, shodu textu, top/bottom pořadí, hodnoty nad/průměr pod, duplicitní či unikátní hodnoty, prázdné, neprázdné, chyby a ne-chyby. Vrácený index lze použít s ConditionalFormats[Index].Style pro připojení formátování
AddWholeNumberValidation / AddWholeNumberValidation overloads / Whole whole-number validationsPřidá celočíselná (whole number) ověření s podporou rozsahu či kritérií
ProtectedRangesKolekce chráněných oblastí buněk vyžadujících v listu ověření heslem
RawWorksheetExtsVystavuje surová data seznamu rozšíření listu pro přímou XML injekci
SparklineGroups / AddSparklineGroupSpravuje inline mini sparkline grafy uvnitř buněk. AddSparklineGroup vytvoří skupinu referencující datovou oblast
ThreadedComments / AddThreadedComment / AddThreadedReplyPodporuje moderní vláknové konverzace v komentářích (odpovědi). AddThreadedComment vytvoří top-level konverzaci a AddThreadedReply přidá odpověď
AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChartZkratky pro grafy ve stylu Excelu. AddChartFromRange vytvoří ukotvený graf přímo z dat buněk
GetSheetProtectOption / SetSheetProtectOptionProgramově nastaví či přečte konkrétní příznaky oprávnění ochrany listu
PasteFromClipboardVloží obsah ze schránky přímo od zadaných souřadnic
AlignWithMarginsUrčuje, zda se okraje stránky zarovnají s obsahem listu
CodeNameUrčuje VBA kódové jméno listu
ConsolidateXmlVystavuje surová konsolidovaná XML data
DifferentFirstZapne samostatné záhlaví/zápatí první stránky
DifferentOddEvenZapne samostatná záhlaví/zápatí lichých a sudých stránek
EvenFooterText / EvenHeaderTextTextové řetězce záhlaví a zápatí sudých stránek
FirstFooterText / FirstHeaderTextTextové řetězce záhlaví a zápatí první stránky
FirstPageNumberČíslo první tiskové stránky
GridColorBarva mřížky listu
HorizontalDpi / VerticalDpiTisková rozlišení DPI pro vodorovnou a svislou osu
OutlineLevelCol / OutlineLevelRowVýchozí outline úroveň pro sloupce a řádky
PaneStateStav zamrznutého rolování panelů
PhoneticAlignment / PhoneticFontId / PhoneticTypeZarovnání fonetického ruby textu CJK, index písma a fonetický typ
PrintErrorsChování tisku chyb buněk
ScaleWithDocŠkáluje záhlaví/zápatí podle měřítka dokumentu
ScenariosTypovaná kolekce Správce scénářů What-If. Každý scénář vlastní jedna až 32 vstupních buněk a podporuje svůj název, stavy locked a hidden, metadata uživatele a komentáře, uložené hodnoty, formáty čísel a příznaky smazání či zrušení změn. CurrentIndex, ShownIndexa SqRef vystavují stav Správce scénářů na úrovni listu
ScenariosXmlLegacy fallback na surový inner-XML používaný jen tehdy, když je typovaná kolekce Scenarios prázdná
SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCountKryptografické vlastnosti pro moderní hashe hesel ochrany listu
ShowFormulasZobrazí vzorce místo hodnot
ShowOutlineSymbolsZobrazí symboly outline skupin
SortState / SortStateXmlTypovaná kritéria řazení a doslovný obsah sort XML
SummaryBelow / SummaryRightUrčuje pozici souhrnného řádku a sloupce outline
UseFirstPageNumberPoužije explicitní začátek číslování stránek
UsePrinterDefaultsPoužije výchozí nastavení tiskárny z DEVMODE
ZeroHeightImplicitně skryje nově vkládané řádky
ZoomNormal / ZoomPageLayout / ZoomSheetLayoutHodnoty přiblížení pro normální zobrazení, page layout a page break
AddWordArtPřidá na list tvarový ovládací prvek WordArt
BuildRowMajorCellOrderSekvenčně optimalizuje úložiště buněk pro iteraci po řádcích
ClearRawDrawingAnchorsVymaže všechny surové nemapované XML anchores kreslicích tvarů
CreateConditionalFormatEvaluatorVytvoří instanci utility stroje pro vyhodnocování podmíněného formátování
RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchorSpravuje surové nemapované XML anchores kreslicích tvarů. AddRawDrawingAnchor přidá kompletní blok <xdr:...Anchor> zachovaný doslovně pro Roundtrip a vrátí nový TXLSXDrawingObject
BringToFront / SendToBack / BringForward / SendBackwardPřeuspořádá kreslicí objekt v z-pořadí listu: BringToFront ho přesune nad všechny ostatní kresby, SendToBack pod všechny ostatní a varianty Forward / Backward ho posunou o jednu pozici
SaveAsPDFExportuje list do PDF souboru či streamu
TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevelDotáže se nebo idempotentně změní směrově uvědomělé souhrnné uzly řádků a sloupců přes sdílený sparse outline model; viz Sparse outline geometry
ToggleColGrouped / ToggleRowGroupedKompatibilní obálky, které přijmou první detailní sloupec či řádek a přepnou jeho rozřešený souhrnný uzel

Úpravy pravidel přes celé řádky a sloupce a kopie oblastí

Od 2.384.77 přijímají cílové oblasti podmíněného formátování a ověřování dat během strukturálních úprav a klonování závislostí také celé řádky a sloupce; úpravy normalizují platné oblasti, zachovávají kompletní rozsahy mřížky a zahodí cíle, jejichž řádky nebo sloupce byly odebrány
Kopie buněk celých řádků, celých sloupců a celého listu procházejí uloženými buňkami, zachovávají sparse mazání cíle a zachytí obsah zdroje před vymazáním překrývajícího se cíle; kopírování prázdné oblasti přes celý řádek či sloupec nevytvoří její prázdné souřadnice
Kopie mezi sešity stále přemapují formátování a rich text po hodnotě a kompletní versus částečné kopie CSE polí si zachovávají své stávající kontrakty vzorců
Od 2.384.78 zachytí kopie oblastí buněk také protínající se virtuální překryvy stylů před mutací, oříznou explicitní překryvy cíle na kopírovaný obdélník a přemapují každou zkopírovanou část formátování mezi sešity, včetně explicitních resetů na index 0
Výchozí hodnoty cíle přes celé řádky či sloupce zůstávají kompaktní a uvnitř kopírovaného obdélníku se maskují dříve, než se aplikují vrstvy zdroje; kopírování prázdného zdroje vymaže předchozí explicitní překryvné formátování uvnitř tohoto obdélníku, zachová formátování mimo něj a nevytváří buňku pro každou pokrytou souřadnici
Zkopírovaná podmíněná a ověřovací pravidla vyžadují, aby všechny cílové oblasti byly obsaženy ve zdrojovém obdélníku; pravidla, která ho jen protínají, se přeskočí a cíl sahající mimo mřížku listu se před kopírováním odmítne
Konečně opakované prázdné styly importované z ODS přispívají do použité oblasti oběma koncovými body; překryvy výchozích stylů celých řádků, celých sloupců a celého listu ji neroztáhnou jen proto, že pokrývají prázdné souřadnice

Příklad

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;
    

Viz také