HotXLS 문서

TXLSXWorksheet 클래스

Single worksheet inside a TXLSXWorkbook 내부의 단일 워크시트입니다. 셀 컬렉션과 더불어 병합된 셀, 하이퍼링크 및 메모 컬렉션을 소유합니다. lxHandleX

Declaration

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

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

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

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

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

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

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

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

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

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

Members

NameWorksheet tab name as shown by Excel
SetWorkbook / Workbook셀과 통합 문서 공유 도우미가 사용하는 통합 문서 역참조를 설정하고 노출합니다. 여기에는 공유 숫자 서식, 채우기, 테두리, 공유 문자열 조회 같은 도우미가 포함됩니다
CellsCell collection. Use Cells.Item[Row, Col].Value See TXLSXCells / TXLSXCell
Calculate이 워크시트 컨텍스트에서 Excel 수식 문자열을 컴파일하고 평가합니다 맨 앞의 = 이 허용되며, 워크시트 지역 참조, 참조된 수식 셀, 시트 간 참조, 정의된 이름 범위, 그리고 지원되는 텍스트, 날짜, workday, 공학/진수 변환, 비트별, 통계, 집계, 수학 함수는 통합 문서 공유 수식 평가기가 해석합니다
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 는 로드된 텍스트 셀을 행 순서로 훑으며 수식과 텍스트가 아닌 값은 건너뛰고 대소문자를 구분해 매치할 수 있습니다. 옵션 오버로드는 Excel 찾기 대화 상자의 의미(와일드카드, 전체 셀 일치, 대소문자 구분, 수식 텍스트 검색, 역방향 스캔, 열 우선 스캔)를 추가하고, FindTextIn / ReplaceTextIn 은 선택적 매치별 치환 콜백과 함께 스캔을 사각형 창으로 제한합니다. WriteCells 는 숫자 또는 A1 스타일 범위에 대한 값을 요청하며 셀별 건너뛰기와 취소를 지원합니다. WriteRows 는 행마다 Variant 배열을 요청하며 행 전체 건너뛰기와 취소를 지원합니다
MergedCellsMerged-range collection. See TXLSXMergedCells
HyperlinksHyperlink collection. See TXLSXHyperlinks
CommentsCell-comment collection. See TXLSXComments
Tables / AddTableExcel-style table band on the worksheet. See TXLSXTable / TXLSXTables
Charts / AddChartAnchored chart collection. See TXLSXChart / TXLSXCharts 차트 종류 열거형은 세로 막대, 가로 막대, 꺾은선, 원형, 영역, 도넛, 분산, 거품, 레이더 차트를 지원합니다 전체 페이지 차트를 만들 때는 다음을 사용하세요 Workbook.AddChartSheet(...)
AddTextBox / TextBoxCount / TextBox / FindTextBoxAt셀 사각형에 앵커된 독립 드로잉 텍스트 상자를 만들고, 열거하고, 찾고, 삭제하고, 지웁니다 IndexOfTextBoxAt와 FindTextBoxAt는 셀을 담은 첫 텍스트 상자를 찾아내고, DeleteTextBoxAt, DeleteTextBoxesInRange, DeleteTextBox, ClearTextBoxes는 셀 메모를 건드리지 않고 개별 또는 그룹화된 텍스트 상자를 제거합니다
AddHyperlinkToCell overloads내부 앵커 하이퍼링크 — 통합 문서 안의 다른 Sheet!Cell 위치로 이동합니다. rels 관계는 생성하지 않습니다. 참조: TXLSXHyperlink.Location
RowOutlineLevel / ColOutlineLevel일치하는 행 또는 열의 그룹 중첩 수준(0..7)입니다. SaveAs는 행 / col 항목에 outlineLevel="N"을 기록합니다
RowHidden / ColHidden불리언 — 행 또는 열을 화면에서 제거합니다(hidden="1")
RowCollapsed / ColCollapsed불리언 — 그룹 상위가 접혀 있음을 표시합니다(collapsed="1")
FreezePanes(Row, Col) / UnfreezePaneSets a frozen split — the top Row rows and left Col columns stay visible while the remainder scrolls. FreezeCol and FreezeRow are read-only properties exposing the current split
SetPageMargins / Page setup propertiesAll six margins plus PageLandscape, PaperSize, PageScale, FitToWidth, FitToHeight, HeaderText, FooterText, LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter, CenterHorizontally, and CenterVertically. Setting any one triggers the corresponding <pageMargins>, <pageSetup>, and <headerFooter> blocks on SaveAs. Use the named xlsxPaper* constants such as xlsxPaperLetter, xlsxPaperA4, xlsxPaperA3, and xlsxPaperLegal instead of raw Excel paper-size codes when possible
Visibility시트 표시 상태: xlsxSheetVisible(기본값), xlsxSheetHidden(숨김 — Excel UI에서 다시 표시 가능), xlsxSheetVeryHidden(VBA나 코드로만 다시 표시 가능). SaveAs는 xl/workbook.xml의 <sheet> 요소에 state 속성을 기록합니다 Visible은 흔한 표시/숨김 동작을 위한 불리언 편의 별칭입니다
SetIsSelected / IsSelectedWhen True, 시트 탭이 선택된 것으로(강조되어) 표시됩니다. 여러 시트를 동시에 선택할 수도 있습니다. SaveAs는 다음을 출력합니다 tabSelected="1" on the matching <sheetView>
AutoFitColumn / AutoFitColumnsAutoFitColumn(Col, MinWidth, MaxWidth) measures every cell in the column and sets ColWidth[Col] 를 가장 넓은 콘텐츠에 맞춘 뒤(ASCII = 1자, CJK = 2자, Calibri 11pt 배율), 선택적인 최소/최대 폭 제한을 적용합니다 AutoFitColumns(Min, Max, MinWidth, MaxWidth)는 열 범위를 대상으로 마지막 셀 보유 열까지만 순회합니다
AutoFitRow / AutoFitRowsAutoFitRow(Row, MinHeight, MaxHeight) sets RowHeight[Row] 를 해당 행에서 가장 큰 셀 콘텐츠에 맞춘 뒤(포인트 단위), 선택적인 최소/최대 높이 제한을 적용합니다 AutoFitRows(Min, Max, MinHeight, MaxHeight)는 행 범위를 대상으로 마지막 셀 보유 행까지만 순회합니다
InsertRows / DeleteRowsInsertRows(BeforeRow, Count) shifts every row at BeforeRow or below down by Count. DeleteRows(StartRow, Count) removes rows [StartRow, StartRow+Count-1] 나머지를 위로 끌어당깁니다. 두 작업 모두 셀, 병합된 범위, 행 높이, 윤곽 수준, 숨김 플래그, 하이퍼링크, 메모, 틀 고정, 자동 필터 / 조건부 서식 / 데이터 유효성 검사 참조, 표, 셀 수식, 조건부 서식 / 데이터 유효성 검사 수식, 내부 하이퍼링크 대상, 인쇄 설정 참조, 수동 페이지 나누기, 자동 필터 열 조건, 차트 계열 범위, 그리고 편집된 워크시트를 가리키는 정의된 이름, 이미지 앵커, 차트 앵커로 파급됩니다
InsertCols / DeleteColsSame as InsertRows / DeleteRows 와 동일하되 열을 대상으로 동작합니다. 열 너비, 윤곽 수준, 숨김 플래그도 함께 갱신됩니다
AddRowBreak / AddColBreakAddRowBreak(N) inserts a manual page break before row N (i.e. row N starts a new printed page). AddColBreak(N) breaks before column N. SaveAs writes <rowBreaks> / <colBreaks> in the sheet XML
HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreakQuery or locate a single manual break by its "before" index
RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRange수동 나누기 하나 또는 행/열 구간(양 끝 포함) 안의 모든 나누기를 제거합니다. 범위 도우미는 뒤집힌 좌표도 받아들이며 제거된 나누기 개수를 반환합니다
ClearRowBreaks / ClearColBreaks / ClearAllPageBreaksRemove all row breaks, all column breaks, or both
RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i]Iterate stored break indices (1-based "Before" values)
KeepRowLinkLevel / KeepColLinkLevel지정한 인덱스 뒤의 행(또는 열)을 위 블록(또는 왼쪽 블록)에 묶는 가장 강한 keep-together 수준을 반환합니다. 해당 위치가 keep-together 블록 안이 아니면 0 입니다
PrintGridlines / PrintHeadingsTrue이면 SaveAs가 <printOptions> 안에 printGridLines="1" / printRowColHeadings="1"을 기록해 인쇄 페이지에 행/열 눈금선이나 제목이 나타나게 합니다
BlackAndWhite / Draft / PrintNotes / PrintOverThenDown<pageSetup>의 인쇄 옵션: BlackAndWhite는 흑백으로 렌더링하고, Draft는 미리보기를 빠르게 하려고 그래픽을 생략하며, PrintNotes는 셀 메모를 표시된 그대로 인쇄하고, PrintOverThenDown은 페이지 순서를 위→아래 대신 왼쪽→오른쪽 우선으로 바꿉니다
PrintAreaThe rectangular region Excel prints (e.g "$A$1:$D$10"). Written as a workbook-level <definedName name="_xlnm.Print_Area"> scoped to this sheet. Empty string = not set
PrintTitleRows / PrintTitleCols인쇄 페이지마다 반복되는 행 또는 열 범위입니다(예: "$1:$3" 또는 "$A:$B"). <definedName name="_xlnm.Print_Titles">(으)로 기록됩니다
SetAutoFilter / AutoFilterRangeSets the filter range (e.g "A1:C100"); SaveAs writes <autoFilter ref="..."/>
AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumns자동 필터 범위에 붙는 열별 필터 조건입니다. AddAutoFilterColumn(ColId, Op, Criteria)은(는) 단일 조건 필터를 추가하고, 두 조건 오버로드는 AND/OR 쌍을 추가합니다 AutoFilterColumns.FindByColId(ColId)는 기존 조건 개체를 반환하고, AutoFilterColumns.DeleteByColId(ColId)는 Items를 직접 훑지 않고 하나를 제거하며, AutoFilterColumns.ClearCriteria는 필터 범위를 유지한 채 모든 열 조건을 지웁니다 ColId 은 자동 필터 범위 안의 0 기반 오프셋입니다 (시트 열이 아님). SaveAs는 <autoFilter> 안의 <filterColumn> 자식으로 기록합니다
AutoFilterRowVisible / PreviewAutoFilterRows / ApplyAutoFilterAutoFilterRowVisible(Row)은(는) 저장된 XLSX 자동 필터 조건을 데이터 행 하나에 대해 평가합니다. PreviewAutoFilterRows는 AutoFilterRange의 데이터 행을 순회하며, 콜백으로 각 행의 표시 상태를 보고하고 방문한 표시 행 개수를 반환하며 행 숨김 플래그는 바꾸지 않습니다. ApplyAutoFilter 자동 필터 조건을 적용하고, 일치하지 않는 행을 숨긴 뒤 성공했는지를 반환합니다
Protect / UnProtect / IsProtected선택적인 16비트 레거시 암호 해시를 갖는 시트 수준 보호 토글입니다. 다음에 반영됩니다 <sheetProtection>
AllowOption / SheetProtectionOptions세밀한 보호 권한 옵션 15가지(셀 서식 지정, 행/열 삽입, 정렬, 자동 필터, 잠긴/잠기지 않은 셀 선택 등)로, Excel의 “시트 보호” 권한 목록에 대응합니다
PageSetupTouched / SheetProtectHashPageSetupTouched는 페이지 설정 값이 명시적으로 수정됐는지 검사하는 데 쓰고, SheetProtectHash 을 사용하면 레거시 XLS 파일 형식이 쓰는 16비트 레거시 시트 보호 해시 텍스트를 읽고 쓸 수 있습니다
AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormat피벗 테이블을 만들고, 복사하고, 서식을 지정하는 메서드입니다. AddPivotTable은 'Data!A1:C9' 같은 A1 소스 범위에서 피벗 테이블을 만들어 1 기반 셀 DestRow, DestCol에 고정합니다. 소스 형식이 잘못됐거나 앵커가 시트 밖이면 nil을 반환합니다. AddPivotTableCopy는 이 통합 문서나 다른 통합 문서에 있는 기존 피벗 테이블을 딥 카피해 이 워크시트의 새 1 기반 앵커로 가져옵니다(NewName을 비우면 '<source> (2)'가 됩니다). PivotSetDataFieldFormat은 데이터 필드에 숫자 서식을 등록하고 그 숫자 서식 인덱스를 반환합니다
PivotTables이 워크시트에 정의된 피벗 테이블 컬렉션
MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCM센티미터 단위로 표현한 페이지 설정 여백
TabColor / TabColorIsAutoExcel 워크시트 탭의 ARGB 색상입니다 TabColor를 할당하면 TabColorIsAuto가 False로 설정되고, TabColorIsAuto = True(기본값)이면 <sheetPr>의 <tabColor> 자식이 생략됩니다
IsChartSheetWhen True, SaveAs writes the sheet to xl/chartsheets/sheetN.xml instead of xl/worksheets/sheetN.xml and hosts Charts[0] full-page. Use the Workbook.AddChartSheet(...) helper for the typical setup
ViewWorksheet view mode. Values are xlsxNormalView, xlsxPageBreakPreview, and xlsxPageLayoutView. SaveAs writes the corresponding view attribute on <sheetView>; Open reads it back
Zoom시트 보기 확대/축소 백분율입니다(10–400, 할당 시 클램프). <sheetView> 안에 zoomScale="N"을 출력하며, 기본값은 억제되어 손대지 않은 시트는 깔끔하게 유지됩니다
DisplayGridLinesWhen False, hides the cell grid lines in the sheet view. Default True. Emits showGridLines="0" when False
DisplayZerosFalse이면 값이 0인 셀이 "0" 대신 빈 칸으로 렌더링됩니다. 기본값은 True입니다. False일 때 showZeros="0"을 출력합니다
DisplayRightToLeftWhen True, 시트가 오른쪽에서 왼쪽으로 진행되는 레이아웃(A열이 오른쪽)으로 표시되어 아랍어나 히브리어 텍스트에 적합합니다. 다음을 출력합니다 rightToLeft="1"
StandardWidthExcel 문자 단위 기본 열 너비입니다 (예: 8.43 = 기본 제공 기본값). > 0 값을 설정하면 다음이 출력됩니다 <sheetFormatPr defaultColWidth="..."/>0 = unset (element suppressed)
StandardHeight포인트 단위 기본 행 높이입니다(예: 15 = 기본 제공 기본값). > 0 값을 설정하면 다음이 출력됩니다 defaultRowHeight="..." on <sheetFormatPr>0 = unset
ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRange셀 범위 연산입니다. CopyRange와 CopyRangeTo는 값, 수식, 스타일 인덱스, 리치 텍스트 페이로드를 복제하고; CopyFrom 는 워크시트 전체의 내용과 설정(병합된 셀, 페이지 설정, 뷰 상태, 자동 필터 등 포함)을 복제합니다; 이 세 가지는 셀 내용만 복사하므로 메모는 뒤에 남고, CloneRangeTo나 Sheets.AddCopy는 메모를 리치 텍스트 run과 함께 운반합니다; MoveRange는 대상 겹침을 건너뛰고; SortRange는 사각형 안의 행 전체를 하나 이상의 절대 키 열 기준으로 정렬하며; ClearRange는 셀을 제거하고; ClearRangeValues는 스타일 인덱스를 보존한 채 값과 수식을 지웁니다
Range / RCRange / UsedRangeReturn sheet-owned TXLSXRange A1 참조, 1 기반 숫자 좌표, 또는 채워진 워크시트 클로저를 위한 래퍼. TXLSXRange.SaveAsHTML(FileName) and TXLSXRange.SaveAsHTML(Stream) 선택한 범위만 UTF-8 HTML 표로 내보냅니다. 범위 래퍼는 또한 일괄 값, 수식, 스타일 인덱스, 숫자 서식, 테두리, 보호 플래그, 자동 맞춤, 병합, 오프셋, 크기 조정, 다중 키 정렬, 기본 제공 셀 스타일, 복사/이동, 행 전체 또는 열 전체 삽입/삭제 도우미도 제공합니다
EntireRow / EntireColumn지정한 인덱스에 대한 구조 작업이나 스타일 전파에 적합한 행 전체 또는 열 전체 범위를 반환합니다
MergeCells(R1, C1, R2, C2)병합 사각형을 추가하고 새 항목 인덱스를 반환합니다. 좌표는 1 기반이며 양 끝을 포함합니다. 다음과 동일합니다 MergedCells.Add(R1, C1, R2, C2)와 같습니다. 범위 스타일 코드라면 Range['A1:C3'].Merge(True)가 행마다 병합 범위 하나를 기록해 Excel의 merge-across 명령과 같아집니다
FillMergedCellValues각 병합 범위의 앵커 값을 덮인 모든 멤버 셀에 복사해 리포트 스타일 시트가 이후 하나의 평평한 그리드처럼 읽히게 만듭니다. 비어 있거나 null인 앵커는 건너뛰므로 미리 채워진 병합은 자체 내용을 유지하고, 채워진 셀 수가 반환됩니다
FormControls 다음에서 만든 워크시트 폼 컨트롤(버튼, 체크 박스, 라디오 버튼, 콤보 박스, 리스트 박스)의 컬렉션입니다 AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox 도우미 계열로 만든 워크시트 폼 컨트롤(버튼, 확인란, 라디오 버튼, 콤보 상자, 목록 상자) 컬렉션입니다. 각 항목은 앵커 사각형, 연결된 셀, 컨트롤 종류를 노출합니다
AddHyperlink overloadsAdds an external URL hyperlink to a single cell Display and Tooltip are optional. Equivalent to Hyperlinks.Add(...)
AddComment overloadsAdds a comment to a single cell. Author is optional. Equivalent to Comments.Add(...)
ColWidth[Col]Excel 단위의 열 너비입니다(Excel 열 너비 대화상자와 같은 배율). 설정되지 않은 열을 읽으면 다음 값이 나옵니다 0입니다; 값을 할당하면 해당 1 기반 열의 너비가 설정됩니다. SaveAs는 사용자 지정된 열마다 <col> 항목을 하나씩 출력하고, Open은 <cols> 블록을 다시 맵에 재생합니다
RowHeight[Row]포인트 단위 행 높이입니다(Excel 행 높이 대화상자와 같은 배율). 설정되지 않은 행을 읽으면 다음 값이 나옵니다 0; 값을 할당하면 해당 1 기반 행의 높이가 설정됩니다. SaveAs는 사용자 지정 높이를 가진 각 <row>에 ht와 customHeight="1" 속성을 기록하며, 셀 데이터 없이 높이만 있는 행도 포함됩니다
SetColWidth / SetRowHeight위의 인덱스 속성이 내부적으로 쓰는 직접 설정자 속성 구문을 쓰고 싶지 않은 호출자를 위해 이름 있는 메서드로 제공됩니다
HasColWidth / HasRowHeight워크시트가 해당 인덱스에 사용자 지정 너비나 높이를 두고 있으면 True 를 반환합니다. "설정되지 않음"과 의도적인 0 값을 구분할 때 사용합니다
ClearColWidths / ClearRowHeights사용자 지정된 모든 너비와 높이를 Excel 기본값으로 되돌립니다
ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsed행/열의 숨김/축소 재정의를 모두 지우고 기본 표시·펼침 상태로 되돌립니다
ImagesImage collection. Use AddImage / AddImageFromFile as the convenience entry points. See TXLSXImage / TXLSXImages
HeaderFooterImages위치, 크기, 여백, 서식, 데이터, 제목 속성을 독립적으로 갖는 형식화된 홀수·짝수·첫 페이지 머리글/바닥글 이미지 슬롯입니다 TXLSXHeaderFooterImage / TXLSXHeaderFooterImages
ConditionalFormatsConditional formatting rules for this worksheet Use AddConditionalFormat as the convenience entry See TXLSXConditionalFormat / TXLSXConditionalFormats
DataValidationsData-validation rules for this worksheet. Use AddDataValidation / AddListValidation as the convenience entries. See TXLSXDataValidation / TXLSXDataValidations
IgnoredErrors형식화된 워크시트 오류 억제 메타데이터입니다. 각 TXLSXIgnoredError 는 공백으로 구분된 다중 영역 SqRef 에 표준 evaluation, date, stored-number, formula, unlocked-formula, empty-reference, data-validation, calculated-column 플래그를 조합합니다. 항목은 워크시트 복사와 열기/저장 왕복에서 유지되며, 범위는 행·열 삽입이나 삭제를 따라갑니다
AddImage / AddImageFromFile셀에 앵커된 이미지를 추가합니다. AddImage는 원시 바이트와 TXLSXImageFormat을 받고, AddImageFromFile는 파일을 읽고 그 확장자에서 형식을 추론합니다. 컬렉션의 Images.Add와 같습니다
AddConditionalFormat overloadsAdds a cellIs conditional-formatting rule Equivalent to ConditionalFormats.Add(...)
AddCondFormatExpression / text / rank / average / duplicate / blank / error helpers수식, 텍스트 일치, 상위/하위 순위, 평균 위/아래 값, 중복 또는 고유 값, 공백, 공백 아님, 오류, 오류 아님을 위한 특수 조건부 서식 규칙을 추가합니다. 반환된 인덱스는 다음과 함께 쓸 수 있습니다 ConditionalFormats[Index].Style to attach formatting
AddWholeNumberValidation / AddWholeNumberValidation overloads / Whole whole-number validations범위 또는 조건 지원과 함께 정수(whole number) 유효성 검사를 일괄 추가합니다
ProtectedRangesCollection of protected cell ranges requiring password authentication in the sheet.
RawWorksheetExtsExposes raw worksheet extension list data for direct XML injection.
SparklineGroups / AddSparklineGroupManage inline mini sparkline charts within cells. AddSparklineGroup creates a group referencing a data range.
ThreadedComments / AddThreadedComment / AddThreadedReplySupport modern threaded comment conversations (replies). AddThreadedComment creates a top-level threaded comment conversation, and AddThreadedReply appends a reply.
AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChartExcel charting shortcuts. AddChartFromRange creates an anchored chart directly from cell data.
GetSheetProtectOption / SetSheetProtectOptionGet or set specific sheet protection permission flags programmatically.
PasteFromClipboard지정한 좌표를 시작점으로 클립보드 내용을 곧장 붙여넣습니다
AlignWithMargins페이지 여백을 워크시트 내용에 맞출지 지정합니다
CodeNameVBA 시트 코드 이름을 지정합니다
ConsolidateXmlExposes raw consolidated XML data
DifferentFirstEnables separate first-page header/footer
DifferentOddEvenEnables separate odd/even page headers/footers
EvenFooterText / EvenHeaderTextText strings for even-page headers and footers
FirstFooterText / FirstHeaderTextText strings for first-page headers and footers
FirstPageNumberFirst page print number
GridColorSheet gridline color
HorizontalDpi / VerticalDpiPrint DPI resolutions for horizontal and vertical axes
OutlineLevelCol / OutlineLevelRowDefault outline level for columns and rows
PaneStatePane frozen scroll state
PhoneticAlignment / PhoneticFontId / PhoneticTypeCJK phonetic ruby 텍스트 정렬, 글꼴 인덱스, 그리고 phonetic 유형
PrintErrorsCell error printing behavior
ScaleWithDocScales headers/footers with document scale
Scenarios형식화된 What-If 시나리오 관리자 컬렉션입니다. 각 시나리오는 1~32개의 입력 셀을 소유하며 이름, 잠금·숨김 상태, 사용자·메모 메타데이터, 저장된 값, 숫자 서식, 삭제·실행 취소 플래그를 지원합니다. CurrentIndex, ShownIndex, SqRef 는 워크시트 수준 시나리오 관리자 상태를 노출합니다
ScenariosXml형식화된 Scenarios 컬렉션이 비어 있을 때만 쓰이는 레거시 원시 inner-XML 폴백입니다
SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCount최신 시트 보호 암호 해시를 위한 암호화 속성입니다
ShowFormulasShows formulas instead of values
ShowOutlineSymbolsShows outline group symbols
SortState / SortStateXmlTyped sorting criteria and verbatim sort XML contents
SummaryBelow / SummaryRightOutlines summary row and column position
UseFirstPageNumberUses explicit page numbering start
UsePrinterDefaultsUses printer-default DEVMODE settings
ZeroHeightHides newly inserted rows by default
ZoomNormal / ZoomPageLayout / ZoomSheetLayout노멀, 페이지 레이아웃, 페이지 나누기 미리 보기 보기의 확대/축소 수준 값입니다
AddWordArtAdds a WordArt text shape control to the worksheet
BuildRowMajorCellOrderOptimizes cell storage sequentially for row-major iteration
ClearRawDrawingAnchorsClears all raw unmapped drawing shape XML anchors
CreateConditionalFormatEvaluator조건부 서식 평가 유틸리티 엔진의 인스턴스를 만듭니다
RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchor매핑되지 않은 원시 도형 XML 앵커를 관리합니다. AddRawDrawingAnchor 는 왕복을 위해 그대로 보존된 완전한 <xdr:...Anchor> 블록을 추가하고 새 TXLSXDrawingObject
BringToFront / SendToBack / BringForward / SendBackward시트 z-순서에서 그리기 개체의 순서를 바꿉니다. BringToFront 는 다른 모든 그리기 개체 위로, SendToBack 은 아래로 이동시키고, Forward / Backward 변형은 한 위치씩 옮깁니다
SaveAsPDFExports the worksheet to a PDF file or stream
TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevel공유 희소 아웃라인 모델을 통해 방향을 인식하는 행·열 요약 노드를 조회하거나 멱등하게 변경합니다. 희소 아웃라인 지오메트리
ToggleColGrouped / ToggleRowGrouped첫 상세 열 또는 행을 받아 해석된 요약 노드를 토글하는 호환성 래퍼입니다

전체 축 규칙 편집과 범위 복사

2.384.77부터 조건부 서식과 데이터 유효성 검사 대상 영역은 구조 편집과 의존성 클론에서 행 전체와 열 전체를 받습니다. 편집은 유효한 영역을 정규화하고 완전한 그리드 범위를 유지하며, 행이나 열이 제거된 대상은 버립니다
행 전체·열 전체·시트 전체 셀 복사는 저장된 셀만 방문하고, 희소 대상 지우기를 유지하며, 겹치는 대상을 지우기 전에 소스 내용을 담아 둡니다. 빈 전체 축 범위를 복사해도 빈 좌표가 실체화되지 않습니다
워크북 간 복사는 여전히 서식과 서식 있는 텍스트를 값 기준으로 재매핑하고, 완전 복사와 부분 CSE 배열 복사는 기존 수식 계약을 유지합니다
2.384.78부터 셀 범위 복사는 변경 전에 교차하는 가상 스타일 오버레이도 담아 두고, 명시적 대상 오버레이를 복사된 사각형으로 잘라내며, 인덱스 0으로의 명시적 초기화를 포함해 복사된 각 서식 파트를 워크북 간에 재매핑합니다
전체 축 대상 기본값은 압축 상태로 유지되고, 소스 레이어를 적용하기 전에 복사된 사각형 안에서 마스킹됩니다. 빈 소스를 복사하면 그 사각형 안의 기존 명시적 오버레이 서식은 지워지고, 밖의 서식은 유지되며, 덮이는 좌표마다 셀을 만들지 않습니다
클론된 조건부 서식과 유효성 검사 규칙은 모든 대상 영역이 소스 사각형 안에 들어 있어야 합니다. 겹치기만 하는 규칙은 건너뛰고, 워크시트 그리드를 벗어나는 대상은 복사 전에 거부됩니다
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;
    

참고