lxHandleX
type
TXLSXTextBox = class
constructor Create(const AText: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer);
property Text: WideString;
property FromRow, FromCol, ToRow, ToCol: Integer;
end;
TXLSXIgnoredError = class
constructor Create(const ASqRef: WideString);
procedure Assign(Source: TXLSXIgnoredError);
property SqRef: WideString;
property EvalError: Boolean;
property TwoDigitTextYear: Boolean;
property NumberStoredAsText: Boolean;
property Formula: Boolean;
property FormulaRange: Boolean;
property UnlockedFormula: Boolean;
property EmptyCellReference: Boolean;
property ListDataValidation: Boolean;
property CalculatedColumn: Boolean;
end;
TXLSXIgnoredErrors = class
function Add(const ASqRef: WideString): TXLSXIgnoredError;
function AddExisting(Source: TXLSXIgnoredError): TXLSXIgnoredError;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXIgnoredError; default;
end;
TXLSXScenarioInputCell = class
property Ref: WideString;
property Value: WideString;
property NumberFormatId: Integer;
property Deleted: Boolean;
property Undone: Boolean;
end;
TXLSXScenarioInputCells = class
function Add(const ARef, AValue: WideString): TXLSXScenarioInputCell;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXScenarioInputCell; default;
end;
TXLSXScenario = class
property Name: WideString;
property Locked: Boolean;
property Hidden: Boolean;
property User: WideString;
property Comment: WideString;
property InputCells: TXLSXScenarioInputCells;
end;
TXLSXScenarios = class
function Add(const AName: WideString): TXLSXScenario;
function FindByName(const AName: WideString): TXLSXScenario;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXScenario; default;
property CurrentIndex: Integer;
property ShownIndex: Integer;
property SqRef: WideString;
end;
TXLSXWorksheet = class
constructor Create(const AName: WideString);
destructor Destroy; override;
procedure SetWorkbook(AWorkbook: TXLSXWorkbook);
function MergeCells(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
function FillMergedCellValues: Integer;
property FormControls: TXLSXFormControls;
function AddHyperlink(ARow, ACol: Integer; const AUrl: WideString): Integer; overload;
function AddHyperlink(ARow, ACol: Integer; const AUrl, ADisplay: WideString): Integer; overload;
function AddHyperlink(ARow, ACol: Integer; const AUrl, ADisplay, ATooltip: WideString): Integer; overload;
function AddComment(ARow, ACol: Integer; const AText: WideString): Integer; overload;
function AddComment(ARow, ACol: Integer; const AText, AAuthor: WideString): Integer; overload;
function AddImage(ARow, ACol: Integer; const AData: AnsiString; AFormat: TXLSXImageFormat): Integer;
function AddImageFromFile(ARow, ACol: Integer; const AFileName: WideString): Integer;
function AddConditionalFormat(const ARange: WideString; AOp: TXLSXCfOperator; const AFormula1: WideString): Integer; overload;
function AddConditionalFormat(const ARange: WideString; AOp: TXLSXCfOperator; const AFormula1, AFormula2: WideString): Integer; overload;
// Excel 2007+ extension rules (v2.36.0+) — mirror the BIFF8 TXLSWorksheet API.
// Their colors are BGR ($00BBGGRR, like a VCL TColor), not the ARGB used by fonts and fills
function AddCondFormatDataBar(const ARange: WideString; AColor: LongWord;
AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
function AddCondFormatColorScale2(const ARange: WideString;
AMinColor, AMaxColor: LongWord;
AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
function AddCondFormatColorScale3(const ARange: WideString;
AMinColor, AMidColor, AMaxColor: LongWord;
AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
AMidKind: TXLSCfValueKind = cfvPercentile; const AMidValue: WideString = '50';
AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
function AddCondFormatIconSet(const ARange: WideString;
ASetType: TXLSIconSetType): Integer;
function AddCondFormatExpression(const ARange: WideString;
const AFormula: WideString): Integer;
function AddCondFormatContainsText(const ARange, AText: WideString): Integer;
function AddCondFormatNotContainsText(const ARange, AText: WideString): Integer;
function AddCondFormatBeginsWith(const ARange, AText: WideString): Integer;
function AddCondFormatEndsWith(const ARange, AText: WideString): Integer;
function AddCondFormatTop10(const ARange: WideString; ARank: Integer;
ABottom: Boolean = False; APercent: Boolean = False): Integer;
function AddCondFormatAboveAverage(const ARange: WideString;
AAbove: Boolean = True): Integer;
function AddCondFormatDuplicateValues(const ARange: WideString): Integer;
function AddCondFormatUniqueValues(const ARange: WideString): Integer;
function AddCondFormatContainsBlanks(const ARange: WideString): Integer;
function AddCondFormatNotContainsBlanks(const ARange: WideString): Integer;
function AddCondFormatContainsErrors(const ARange: WideString): Integer;
function AddCondFormatNotContainsErrors(const ARange: WideString): Integer;
function AddDataValidation(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddDataValidation(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddListValidation(const ARange, AItems: WideString): Integer;
function AddWholeNumberValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddWholeNumberValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddDecimalValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddDecimalValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddDateValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddDateValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddTimeValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddTimeValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddTextLengthValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddTextLengthValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddCustomValidation(const ARange, AFormula: WideString): Integer;
function CheckDataValidation(ARow, ACol: Integer; const AValue: Variant;
SetIfValid: Boolean = False): Integer;
// Excel-style table (insert table) — see TXLSXTable.
function AddTable(const AName, ARange: WideString; AColumns: TStrings): Integer;
// Chart helpers — anchored or full-page (via AddChartSheet on workbook).
function AddChart(AChartType: TXLSXChartType; const ATitle: WideString;
AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
// Standalone drawing text boxes.
function AddTextBox(const AText: WideString;
AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXTextBox;
function TextBoxCount: Integer;
function TextBox(Index: Integer): TXLSXTextBox;
function IndexOfTextBoxAt(ARow, ACol: Integer): Integer;
function FindTextBoxAt(ARow, ACol: Integer): TXLSXTextBox;
procedure DeleteTextBox(Index: Integer);
function DeleteTextBoxAt(ARow, ACol: Integer): Boolean;
function DeleteTextBoxesInRange(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
procedure ClearTextBoxes;
// Internal Sheet!Cell hyperlink (no rels relationship needed).
function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation: WideString): Integer; overload;
function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation, ADisplay: WideString): Integer; overload;
function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation, ADisplay, ATooltip: WideString): Integer; overload;
// Sheet visibility and selection state.
property Visibility: TXLSXSheetVisibility;
property Visible: Boolean;
property IsSelected: Boolean;
procedure SetIsSelected(Value: Boolean);
// Auto-fit column width / row height from cell content.
procedure AutoFitColumn(ACol: Integer; AMinWidth: Double = 0; AMaxWidth: Double = 0);
procedure AutoFitColumns(AColMin, AColMax: Integer; AMinWidth: Double = 0; AMaxWidth: Double = 0);
procedure AutoFitRow(ARow: Integer; AMinHeight: Double = 0; AMaxHeight: Double = 0);
procedure AutoFitRows(ARowMin, ARowMax: Integer; AMinHeight: Double = 0; AMaxHeight: Double = 0);
// Row / column insert and delete with cascade shift.
procedure InsertRows(BeforeRow, Count: Integer);
procedure DeleteRows(StartRow, Count: Integer);
procedure InsertCols(BeforeCol, Count: Integer);
procedure DeleteCols(StartCol, Count: Integer);
// Manual page breaks.
procedure AddRowBreak(BeforeRow: Integer);
procedure AddColBreak(BeforeCol: Integer);
function HasRowBreak(BeforeRow: Integer): Boolean;
function HasColBreak(BeforeCol: Integer): Boolean;
function IndexOfRowBreak(BeforeRow: Integer): Integer;
function IndexOfColBreak(BeforeCol: Integer): Integer;
procedure RemoveRowBreak(BeforeRow: Integer);
procedure RemoveColBreak(BeforeCol: Integer);
function RemoveRowBreaksInRange(FirstRow, LastRow: Integer): Integer;
function RemoveColBreaksInRange(FirstCol, LastCol: Integer): Integer;
procedure ClearRowBreaks;
procedure ClearColBreaks;
procedure ClearAllPageBreaks;
function RowBreakCount: Integer;
function ColBreakCount: Integer;
function RowBreaks(Index: Integer): Integer;
function ColBreaks(Index: Integer): Integer;
function KeepRowLinkLevel(AfterRow: Integer): Integer;
function KeepColLinkLevel(AfterCol: Integer): Integer;
function Calculate(const Formula: WideString): Variant;
function ForEachCell(Callback: TXLSXCellReadEvent): Integer;
function ForEachFormattedCell(Callback: TXLSXCellTextEvent): Integer;
function ForEachRow(Callback: TXLSXRowReadEvent): Integer;
function FindText(const SearchText: WideString; out Row, Col: Integer): Boolean; overload;
function FindText(const SearchText: WideString; out Row, Col: Integer; MatchCase: Boolean): Boolean; overload;
function ReplaceText(const SearchText, ReplacementText: WideString): Integer; overload;
function ReplaceText(const SearchText, ReplacementText: WideString; MatchCase: Boolean): Integer; overload;
function FindText(const SearchText: WideString; out Row, Col: Integer; Options: TXLSXFindOptions; StartRow, StartCol: Integer): Boolean; overload;
function FindTextIn(const SearchText: WideString; out Row, Col: Integer; Options: TXLSXFindOptions; FirstRow, FirstCol, LastRow, LastCol, StartRow, StartCol: Integer): Boolean;
function ReplaceText(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions): Integer; overload;
function ReplaceText(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions; Callback: TXLSXReplaceEvent): Integer; overload;
function ReplaceTextIn(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions; FirstRow, FirstCol, LastRow, LastCol: Integer; Callback: TXLSXReplaceEvent): Integer;
function WriteCells(const ARange: WideString; Callback: TXLSXCellWriteEvent): Integer; overload;
function WriteCells(ARow1, ACol1, ARow2, ACol2: Integer; Callback: TXLSXCellWriteEvent): Integer; overload;
function WriteRows(const ARange: WideString; Callback: TXLSXRowWriteEvent): Integer; overload;
function WriteRows(ARow1, ACol1, ARow2, ACol2: Integer; Callback: TXLSXRowWriteEvent): Integer; overload;
function WriteFloatRowValues(ARow, ACol: Integer; const AValues: array of Double): Integer;
function WriteStringRowValues(ARow, ACol: Integer; const AValues: array of WideString): Integer;
function WriteRowValues(ARow, ACol: Integer; const AValues: array of Variant): Integer;
function WriteFloatColumnValues(ARow, ACol: Integer; const AValues: array of Double): Integer;
function WriteStringColumnValues(ARow, ACol: Integer; const AValues: array of WideString): Integer;
function WriteColumnValues(ARow, ACol: Integer; const AValues: array of Variant): Integer;
// Column / row metadata.
procedure SetColWidth(ACol: Integer; AWidth: Double);
function HasColWidth(ACol: Integer): Boolean;
procedure ClearColWidths;
procedure SetRowHeight(ARow: Integer; AHeight: Double);
function HasRowHeight(ARow: Integer): Boolean;
procedure ClearRowHeights;
procedure SetRowOutlineLevel(ARow, ALevel: Integer);
function HasRowOutlineLevel(ARow: Integer): Boolean;
procedure ClearRowOutlineLevels;
procedure SetColOutlineLevel(ACol, ALevel: Integer);
function HasColOutlineLevel(ACol: Integer): Boolean;
procedure ClearColOutlineLevels;
procedure SetRowHidden(ARow: Integer; AHidden: Boolean);
procedure SetColHidden(ACol: Integer; AHidden: Boolean);
procedure ClearRowHidden;
procedure ClearColHidden;
procedure SetRowCollapsed(ARow: Integer; ACollapsed: Boolean);
procedure SetColCollapsed(ACol: Integer; ACollapsed: Boolean);
procedure ClearRowCollapsed;
procedure ClearColCollapsed;
function TryGetOutlineNode(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; out ANode: TXLSOutlineNode): Boolean;
function SetOutlineNodeCollapsed(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; ACollapsed: Boolean; AChildMode: TXLSOutlineChildMode = xocPreserve): Boolean;
procedure SetOutlineDisplayLevel(AAxis: TXLSOutlineAxis; ADisplayLevel: Integer; AChildMode: TXLSOutlineChildMode = xocPreserve);
// Range copy / move / clear API.
procedure ClearRangeValues(const ARange: WideString); overload;
procedure ClearRangeValues(ARow1, ACol1, ARow2, ACol2: Integer); overload;
procedure ClearRange(ARow1, ACol1, ARow2, ACol2: Integer);
procedure CopyRange(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2, ADstRow, ADstCol: Integer);
procedure CopyRangeTo(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2: Integer;
ATargetSheet: TXLSXWorksheet; ADstRow, ADstCol: Integer);
procedure CopyFrom(ASource: TXLSXWorksheet);
procedure MoveRange(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2, ADstRow, ADstCol: Integer);
procedure SortRange(ARow1, ACol1, ARow2, ACol2: Integer;
const AKeyCols: array of Integer; const ADescending: array of Boolean);
function GetCellVisibleFormat(ARow, ACol: Integer): TXLSXCellStyleState;
function Subtotal(ARow1, ACol1, ARow2, ACol2, AChangeColumn,
AFunction: Integer; const ASubtotalColumns: array of Integer): Integer; overload;
function Subtotal(ARow1, ACol1, ARow2, ACol2, AChangeColumn,
AFunction: Integer; const ASubtotalColumns: array of Integer;
const AGrandTotalText: WideString): Integer; overload;
function SubtotalDefaultEnglishString(AFunction: Integer): WideString;
// Frozen panes (top rows / left columns).
procedure FreezePanes(ARow, ACol: Integer);
procedure UnfreezePane;
property FreezeCol, FreezeRow: Integer;
// Page setup.
procedure SetPageMargins(ALeft, ARight, ATop, ABottom: Double); overload;
procedure SetPageMargins(ALeft, ARight, ATop, ABottom, AHeader, AFooter: Double); overload;
property MarginLeft, MarginRight, MarginTop, MarginBottom,
MarginHeader, MarginFooter: Double;
property MarginLeftCM, MarginRightCM, MarginTopCM, MarginBottomCM,
MarginHeaderCM, MarginFooterCM: Double;
property PageLandscape: Boolean;
property PaperSize, PageScale, FitToWidth, FitToHeight: Integer;
property HeaderText, FooterText: WideString;
property LeftHeader, CenterHeader, RightHeader: WideString;
property LeftFooter, CenterFooter, RightFooter: WideString;
property CenterHorizontally, CenterVertically: Boolean;
property PrintGridlines: Boolean;
property PrintHeadings: Boolean;
property BlackAndWhite: Boolean;
property Draft: Boolean;
property PrintNotes: Boolean;
property PrintOverThenDown: Boolean;
property PrintArea: WideString;
property PrintTitleRows: WideString;
property PrintTitleCols: WideString;
// Auto-filter range (e.g. "A1:C100"). Empty = no filter.
procedure SetAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer); overload;
procedure SetAutoFilter(const ARange: WideString); overload;
procedure ClearAutoFilter;
property AutoFilterRange: WideString;
property AutoFilterColumns: TXLSXAutoFilterColumns;
function AddAutoFilterColumn(AColId: Integer; AOp1: TXLSXAutoFilterOp; const ACriteria1: WideString): TXLSXAutoFilterColumn; overload;
function AddAutoFilterColumn(AColId: Integer; AOp1: TXLSXAutoFilterOp; const ACriteria1: WideString; AOp2: TXLSXAutoFilterOp; const ACriteria2: WideString; AAndConnector: Boolean): TXLSXAutoFilterColumn; overload;
procedure ClearAutoFilterColumns;
function AutoFilterRowVisible(ARow: Integer): Boolean;
function PreviewAutoFilterRows(Callback: TXLSXAutoFilterRowEvent): Integer;
function ApplyAutoFilter(const ARange: WideString): Boolean;
// Sheet protection (16-bit legacy hash).
procedure Protect; overload;
procedure Protect(const APassword: WideString); overload;
procedure UnProtect;
property IsProtected: Boolean;
property AllowOption[Option: TXLSXSheetProtectionOption]: Boolean;
property SheetProtectionOptions: TXLSXSheetProtectionOptions;
property PageSetupTouched: Boolean;
property SheetProtectHash: WideString;
// Sheet tab color + chart-sheet flag.
property TabColor: LongWord;
property TabColorIsAuto: Boolean;
property IsChartSheet: Boolean;
property Name: WideString;
property Workbook: TXLSXWorkbook;
property AlignWithMargins: Boolean;
property CodeName: WideString;
property ConsolidateXml: WideString;
property DifferentFirst: Boolean;
property DifferentOddEven: Boolean;
property EvenFooterText: WideString;
property EvenHeaderText: WideString;
property FirstFooterText: WideString;
property FirstHeaderText: WideString;
property FirstPageNumber: Integer;
property GridColor: LongWord;
property HorizontalDpi: Integer;
property OutlineLevelCol: Integer;
property OutlineLevelRow: Integer;
property PaneState: WideString;
property PhoneticAlignment: WideString;
property PhoneticFontId: Integer;
property PhoneticType: WideString;
property PrintErrors: Integer;
property ScaleWithDoc: Boolean;
property ScenariosXml: WideString;
property SheetProtectAlgorithmName: WideString;
property SheetProtectHashValue: WideString;
property SheetProtectSaltValue: WideString;
property SheetProtectSpinCount: Integer;
property ShowFormulas: Boolean;
property ShowOutlineSymbols: Boolean;
property SortState: TXLSXSortState;
property SortStateXml: WideString;
property SummaryBelow: Boolean;
property SummaryRight: Boolean;
property UseFirstPageNumber: Boolean;
property UsePrinterDefaults: Boolean;
property VerticalDpi: Integer;
property ZeroHeight: Boolean;
property ZoomNormal: Integer;
property ZoomPageLayout: Integer;
property ZoomSheetLayout: Integer;
// Sheet view display options.
property View: TXLSXWindowView;
property Zoom: Integer;
property DisplayGridLines: Boolean;
property DisplayZeros: Boolean;
property DisplayRightToLeft: Boolean;
property StandardWidth: Double;
property StandardHeight: Double;
// Collections owned by the worksheet.
property Cells: TXLSXCells;
property MergedCells: TXLSXMergedCells;
property Hyperlinks: TXLSXHyperlinks;
property Comments: TXLSXComments;
property Images: TXLSXImages;
property ConditionalFormats: TXLSXConditionalFormats;
property DataValidations: TXLSXDataValidations;
property IgnoredErrors: TXLSXIgnoredErrors;
property Scenarios: TXLSXScenarios;
property Tables: TXLSXTables;
property Charts: TXLSXCharts;
property PivotTables: TXLSPivotTables;
function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
function AddPivotTableCopy(SourcePivot: TXLSPivotTable; DestRow, DestCol: Integer; const NewName: WideString): TXLSPivotTable;
function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
property ColWidth[ACol: Integer]: Double;
property RowHeight[ARow: Integer]: Double;
property RowOutlineLevel[ARow: Integer]: Integer;
property ColOutlineLevel[ACol: Integer]: Integer;
property RowHidden[ARow: Integer]: Boolean;
property ColHidden[ACol: Integer]: Boolean;
property RowCollapsed[ARow: Integer]: Boolean;
property ColCollapsed[ACol: Integer]: Boolean;
property Range[const Ref: WideString]: TXLSXRange;
property RCRange[R1, C1, R2, C2: Integer]: TXLSXRange;
property UsedRange: TXLSXRange;
function EntireRow(ARow: Integer): TXLSXRange;
function EntireColumn(ACol: Integer): TXLSXRange;
property ProtectedRanges: TXLSXProtectedRanges;
property RawWorksheetExts: TXLSXRawWorksheetExts;
property SparklineGroups: TXLSXSparklineGroups;
property ThreadedComments: TXLSXThreadedComments;
function AddAreaChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddBarChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddChartFromRange(const ARange: WideString; AChartType: TXLSXChartType): TXLSXChart;
function AddColumnChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddLineChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddPieChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddSparklineGroup(const ARange, ALocation: WideString; AType: TXLSXSparklineType): TXLSXSparklineGroup;
function AddThreadedComment(ARow, ACol: Integer; const AText, AAuthor: WideString): TXLSXThreadedComment;
function AddThreadedReply(AParentComment: TXLSXThreadedComment; const AText, AAuthor: WideString): TXLSXThreadedComment;
function GetSheetProtectOption(Option: TXLSXSheetProtectionOption): Boolean;
procedure SetSheetProtectOption(Option: TXLSXSheetProtectionOption; Value: Boolean);
procedure PasteFromClipboard(StartRow, StartCol: Integer);
function AddWordArt(const AText, APreset: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXTextBox;
procedure BuildRowMajorCellOrder;
procedure ClearRawDrawingAnchors;
function CreateConditionalFormatEvaluator: TXLSXConditionalFormatEvaluator;
function RawDrawingAnchor(Index: Integer): WideString;
function RawDrawingAnchorCount: Integer;
function AddRawDrawingAnchor(const AXml: WideString): TXLSXDrawingObject;
procedure BringToFront(AObject: TXLSXDrawingObject);
procedure SendToBack(AObject: TXLSXDrawingObject);
procedure BringForward(AObject: TXLSXDrawingObject);
procedure SendBackward(AObject: TXLSXDrawingObject);
function SaveAsPDF(const FileName: WideString): Integer; overload;
function SaveAsPDF(Stream: TStream): Integer; overload;
procedure ToggleColGrouped(ACol: Integer);
procedure ToggleRowGrouped(ARow: Integer);
end;
TXLSXBuiltinCellStyle = (
xbsNormal, xbsGood, xbsBad, xbsNeutral,
xbsCalculation, xbsCheckCell, xbsExplanatoryText, xbsInput,
xbsLinkedCell, xbsNote, xbsOutput, xbsWarningText,
xbsHeading1, xbsHeading2, xbsHeading3, xbsHeading4, xbsTitle, xbsTotal,
xbsAccent1, xbsAccent2, xbsAccent3, xbsAccent4, xbsAccent5, xbsAccent6);
TXLSXRange = class
function RefA1: WideString;
function SaveAsHTML(const FileName: WideString): Integer; overload;
function SaveAsHTML(const FileName: WideString; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream): Integer; overload;
function SaveAsHTML(Stream: TStream; Options: TXLSXHtmlExportOptions): Integer; overload;
procedure SetValue(const V: Variant);
procedure SetFormula(const F: WideString);
procedure ClearValues;
procedure Clear;
procedure ClearAll;
procedure SetFontIndex(AIdx: Integer);
procedure SetFillIndex(AIdx: Integer);
procedure SetBorderIndex(AIdx: Integer);
procedure SetNumberFormatIndex(AIdx: Integer);
procedure SetAlignmentIndex(AIdx: Integer);
procedure SetNumberFormat(const Fmt: WideString);
procedure SetBorders(Kind: TXLSXBorderEdgeKind; Style: TXLSXBorderStyle); overload;
procedure SetBorders(Kind: TXLSXBorderEdgeKind; Style: TXLSXBorderStyle; Color: LongWord); overload;
procedure SetLocked(ALocked: Boolean);
procedure SetFormulaHidden(AHidden: Boolean);
procedure AutoFitColumns(AMinWidth: Double = 0; AMaxWidth: Double = 0);
procedure AutoFitRows(AMinHeight: Double = 0; AMaxHeight: Double = 0);
procedure Merge; overload;
procedure Merge(Across: OleVariant); overload;
procedure Unmerge;
function Offset(DRow, DCol: Integer): TXLSXRange;
function Resize(NewRowCount, NewColCount: Integer): TXLSXRange;
procedure Sort(AKeyColumn: Integer; ADescending: Boolean = False); overload;
procedure Sort(const AKeyColumns: array of Integer; const ADescending: array of Boolean); overload;
procedure ApplyBuiltinStyle(AStyle: TXLSXBuiltinCellStyle);
procedure CopyTo(ADestRow, ADestCol: Integer);
procedure MoveTo(ADestRow, ADestCol: Integer);
procedure InsertRows;
procedure DeleteRows;
procedure InsertCols;
procedure DeleteCols;
end;
| Name | Worksheet tab name as shown by Excel |
| SetWorkbook / Workbook | 셀과 통합 문서 공유 도우미가 사용하는 통합 문서 역참조를 설정하고 노출합니다. 여기에는 공유 숫자 서식, 채우기, 테두리, 공유 문자열 조회 같은 도우미가 포함됩니다 |
| Cells | Cell collection. Use Cells.Item[Row, Col].Value
See TXLSXCells / TXLSXCell |
| Calculate | 이 워크시트 컨텍스트에서 Excel 수식 문자열을 컴파일하고 평가합니다
맨 앞의 = 이 허용되며, 워크시트 지역 참조, 참조된 수식 셀, 시트 간 참조, 정의된 이름 범위, 그리고 지원되는 텍스트, 날짜, workday, 공학/진수 변환, 비트별, 통계, 집계, 수학 함수는 통합 문서 공유 수식 평가기가 해석합니다 |
| GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / CheckDataValidation | GetCellVisibleFormat 는 빈 셀을 만들지 않고 좌표 위치의 유효 스타일을 해석합니다. 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 배열을 요청하며 행 전체 건너뛰기와 취소를 지원합니다 |
| MergedCells | Merged-range collection. See TXLSXMergedCells |
| Hyperlinks | Hyperlink collection. See TXLSXHyperlinks |
| Comments | Cell-comment collection. See TXLSXComments |
| Tables / AddTable | Excel-style table band on the worksheet. See TXLSXTable / TXLSXTables |
| Charts / AddChart | Anchored 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) / UnfreezePane | Sets 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 properties | All 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 / IsSelected | When True, 시트 탭이
선택된 것으로(강조되어) 표시됩니다. 여러 시트를
동시에 선택할 수도 있습니다. SaveAs는 다음을 출력합니다 tabSelected="1" on the
matching <sheetView> |
| AutoFitColumn / AutoFitColumns | AutoFitColumn(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 / AutoFitRows | AutoFitRow(Row, MinHeight, MaxHeight) sets
RowHeight[Row] 를 해당 행에서 가장 큰 셀 콘텐츠에
맞춘 뒤(포인트 단위), 선택적인 최소/최대 높이 제한을 적용합니다
AutoFitRows(Min, Max, MinHeight, MaxHeight)는 행 범위를
대상으로 마지막 셀 보유 행까지만 순회합니다 |
| InsertRows / DeleteRows | InsertRows(BeforeRow, Count) shifts
every row at BeforeRow or below down by
Count. DeleteRows(StartRow, Count) removes
rows [StartRow, StartRow+Count-1] 나머지를
위로 끌어당깁니다. 두 작업 모두 셀, 병합된 범위, 행 높이, 윤곽
수준, 숨김 플래그, 하이퍼링크, 메모, 틀 고정,
자동 필터 / 조건부 서식 / 데이터 유효성 검사 참조, 표,
셀 수식, 조건부 서식 / 데이터 유효성 검사 수식,
내부 하이퍼링크 대상, 인쇄 설정 참조, 수동 페이지 나누기, 자동 필터 열 조건, 차트 계열 범위, 그리고 편집된 워크시트를
가리키는 정의된 이름, 이미지 앵커, 차트 앵커로 파급됩니다 |
| InsertCols / DeleteCols | Same as InsertRows / DeleteRows 와 동일하되
열을 대상으로 동작합니다. 열 너비, 윤곽 수준, 숨김 플래그도
함께 갱신됩니다 |
| AddRowBreak / AddColBreak | AddRowBreak(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 / IndexOfColBreak | Query or locate a single manual break by its "before" index |
| RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRange | 수동 나누기 하나 또는 행/열 구간(양 끝 포함) 안의 모든 나누기를 제거합니다. 범위 도우미는 뒤집힌 좌표도 받아들이며 제거된 나누기 개수를 반환합니다 |
| ClearRowBreaks / ClearColBreaks / ClearAllPageBreaks | Remove 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 / PrintHeadings | True이면 SaveAs가
<printOptions> 안에
printGridLines="1" /
printRowColHeadings="1"을 기록해 인쇄
페이지에 행/열 눈금선이나 제목이 나타나게 합니다 |
| BlackAndWhite / Draft / PrintNotes / PrintOverThenDown | <pageSetup>의 인쇄 옵션:
BlackAndWhite는 흑백으로 렌더링하고,
Draft는 미리보기를 빠르게 하려고 그래픽을 생략하며,
PrintNotes는 셀 메모를 표시된 그대로 인쇄하고,
PrintOverThenDown은 페이지 순서를 위→아래 대신
왼쪽→오른쪽 우선으로 바꿉니다 |
| PrintArea | The 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 / AutoFilterRange | Sets 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 / ApplyAutoFilter | AutoFilterRowVisible(Row)은(는) 저장된 XLSX 자동 필터 조건을 데이터 행 하나에 대해 평가합니다. PreviewAutoFilterRows는 AutoFilterRange의 데이터 행을 순회하며, 콜백으로 각 행의 표시 상태를 보고하고 방문한 표시 행 개수를 반환하며 행 숨김 플래그는 바꾸지 않습니다. ApplyAutoFilter 자동 필터 조건을 적용하고, 일치하지 않는 행을 숨긴 뒤 성공했는지를 반환합니다 |
| Protect / UnProtect / IsProtected | 선택적인
16비트 레거시 암호 해시를 갖는 시트 수준 보호 토글입니다. 다음에 반영됩니다
<sheetProtection> |
| AllowOption / SheetProtectionOptions | 세밀한 보호 권한 옵션 15가지(셀 서식 지정, 행/열 삽입, 정렬, 자동 필터, 잠긴/잠기지 않은 셀 선택 등)로, Excel의 “시트 보호” 권한 목록에 대응합니다 |
| PageSetupTouched / SheetProtectHash | PageSetupTouched는 페이지 설정 값이
명시적으로 수정됐는지 검사하는 데 쓰고,
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 / TabColorIsAuto | Excel 워크시트 탭의 ARGB 색상입니다
TabColor를 할당하면 TabColorIsAuto가 False로 설정되고,
TabColorIsAuto = True(기본값)이면
<sheetPr>의 <tabColor> 자식이 생략됩니다 |
| IsChartSheet | When 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 |
| View | Worksheet 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"을 출력하며, 기본값은 억제되어
손대지 않은 시트는 깔끔하게 유지됩니다 |
| DisplayGridLines | When False, hides the cell grid lines
in the sheet view. Default True. Emits
showGridLines="0" when False |
| DisplayZeros | False이면 값이 0인 셀이
"0" 대신 빈 칸으로 렌더링됩니다. 기본값은
True입니다. False일 때
showZeros="0"을 출력합니다 |
| DisplayRightToLeft | When True, 시트가 오른쪽에서 왼쪽으로 진행되는
레이아웃(A열이 오른쪽)으로 표시되어 아랍어나
히브리어 텍스트에 적합합니다. 다음을 출력합니다 rightToLeft="1" |
| StandardWidth | Excel 문자 단위 기본 열 너비입니다
(예: 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 / UsedRange | Return 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 overloads | Adds an external URL hyperlink to a single cell
Display and Tooltip are optional. Equivalent
to Hyperlinks.Add(...) |
| AddComment overloads | Adds 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 | 행/열의 숨김/축소 재정의를 모두 지우고 기본 표시·펼침 상태로 되돌립니다 |
| Images | Image collection. Use AddImage /
AddImageFromFile as the convenience entry points. See
TXLSXImage / TXLSXImages |
| HeaderFooterImages | 위치, 크기, 여백, 서식, 데이터, 제목 속성을 독립적으로 갖는 형식화된 홀수·짝수·첫 페이지 머리글/바닥글 이미지 슬롯입니다 TXLSXHeaderFooterImage / TXLSXHeaderFooterImages |
| ConditionalFormats | Conditional formatting rules for this worksheet
Use AddConditionalFormat as the convenience entry
See TXLSXConditionalFormat / TXLSXConditionalFormats |
| DataValidations | Data-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 overloads | Adds 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) 유효성 검사를 일괄 추가합니다 |
| ProtectedRanges | Collection of protected cell ranges requiring password authentication in the sheet. |
| RawWorksheetExts | Exposes raw worksheet extension list data for direct XML injection. |
| SparklineGroups / AddSparklineGroup | Manage inline mini sparkline charts within cells. AddSparklineGroup creates a group referencing a data range. |
| ThreadedComments / AddThreadedComment / AddThreadedReply | Support modern threaded comment conversations (replies). AddThreadedComment creates a top-level threaded comment conversation, and AddThreadedReply appends a reply. |
| AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChart | Excel charting shortcuts. AddChartFromRange creates an anchored chart directly from cell data. |
| GetSheetProtectOption / SetSheetProtectOption | Get or set specific sheet protection permission flags programmatically. |
| PasteFromClipboard | 지정한 좌표를 시작점으로 클립보드 내용을 곧장 붙여넣습니다 |
| AlignWithMargins | 페이지 여백을 워크시트 내용에 맞출지 지정합니다 |
| CodeName | VBA 시트 코드 이름을 지정합니다 |
| ConsolidateXml | Exposes raw consolidated XML data |
| DifferentFirst | Enables separate first-page header/footer |
| DifferentOddEven | Enables separate odd/even page headers/footers |
| EvenFooterText / EvenHeaderText | Text strings for even-page headers and footers |
| FirstFooterText / FirstHeaderText | Text strings for first-page headers and footers |
| FirstPageNumber | First page print number |
| GridColor | Sheet gridline color |
| HorizontalDpi / VerticalDpi | Print DPI resolutions for horizontal and vertical axes |
| OutlineLevelCol / OutlineLevelRow | Default outline level for columns and rows |
| PaneState | Pane frozen scroll state |
| PhoneticAlignment / PhoneticFontId / PhoneticType | CJK phonetic ruby 텍스트 정렬, 글꼴 인덱스, 그리고 phonetic 유형 |
| PrintErrors | Cell error printing behavior |
| ScaleWithDoc | Scales headers/footers with document scale |
| Scenarios | 형식화된 What-If 시나리오 관리자 컬렉션입니다. 각 시나리오는 1~32개의 입력 셀을 소유하며 이름, 잠금·숨김 상태, 사용자·메모 메타데이터, 저장된 값, 숫자 서식, 삭제·실행 취소 플래그를 지원합니다.
CurrentIndex, ShownIndex,
SqRef 는 워크시트 수준 시나리오 관리자 상태를 노출합니다 |
| ScenariosXml | 형식화된 Scenarios 컬렉션이 비어 있을 때만 쓰이는 레거시 원시 inner-XML 폴백입니다 |
| SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCount | 최신 시트 보호 암호 해시를 위한 암호화 속성입니다 |
| ShowFormulas | Shows formulas instead of values |
| ShowOutlineSymbols | Shows outline group symbols |
| SortState / SortStateXml | Typed sorting criteria and verbatim sort XML contents |
| SummaryBelow / SummaryRight | Outlines summary row and column position |
| UseFirstPageNumber | Uses explicit page numbering start |
| UsePrinterDefaults | Uses printer-default DEVMODE settings |
| ZeroHeight | Hides newly inserted rows by default |
| ZoomNormal / ZoomPageLayout / ZoomSheetLayout | 노멀, 페이지 레이아웃, 페이지 나누기 미리 보기 보기의 확대/축소 수준 값입니다 |
| AddWordArt | Adds a WordArt text shape control to the worksheet |
| BuildRowMajorCellOrder | Optimizes cell storage sequentially for row-major iteration |
| ClearRawDrawingAnchors | Clears 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 변형은 한 위치씩 옮깁니다 |
| SaveAsPDF | Exports the worksheet to a PDF file or stream |
| TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevel | 공유 희소 아웃라인 모델을 통해 방향을 인식하는 행·열 요약 노드를 조회하거나 멱등하게 변경합니다. 희소 아웃라인 지오메트리 |
| ToggleColGrouped / ToggleRowGrouped | 첫 상세 열 또는 행을 받아 해석된 요약 노드를 토글하는 호환성 래퍼입니다 |
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;