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 | Název záložky listu tak, jak jej zobrazuje Excel |
| SetWorkbook / Workbook | Nastaví 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 |
| Cells | Kolekce buněk. Použijte Cells.Item[Row, Col].Value
. Viz TXLSXCells / TXLSXCell |
| Calculate | Zkompiluje 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 / CheckDataValidation | GetCellVisibleFormat 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 / WriteRows | Helpery 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ů |
| MergedCells | Kolekce sloučených oblastí. Viz TXLSXMergedCells |
| Hyperlinks | Kolekce hypertextových odkazů. Viz TXLSXHyperlinks |
| Comments | Kolekce komentářů buněk. Viz TXLSXComments |
| Tables / AddTable | Tabulka ve stylu Excelu na listu. Viz TXLSXTable / TXLSXTables |
| Charts / AddChart | Kolekce 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 / FindTextBoxAt | Vytváří, 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 overloads | Interní 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 / ColHidden | Boolean — odstraní řádek či sloupec z pohledu (hidden="1") |
| RowCollapsed / ColCollapsed | Boolean — označí řádek / sloupec, jehož rodičovská skupina je sbalená (collapsed="1") |
| FreezePanes(Row, Col) / UnfreezePane | Nastaví 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 properties | Vš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é |
| Visibility | Viditelnost 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 / IsSelected | Je-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 / AutoFitColumns | AutoFitColumn(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 / AutoFitRows | AutoFitRow(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 / DeleteRows | InsertRows(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 / DeleteCols | Totéž co InsertRows / DeleteRows , ale pracuje se sloupci. Aktualizují se také šířky sloupců, outline úrovně a hidden příznaky |
| AddRowBreak / AddColBreak | AddRowBreak(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 / IndexOfColBreak | Dotáže se či vyhledá jediné ruční zalomení podle jeho indexu "before" |
| RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRange | Odstraní 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 / ClearAllPageBreaks | Odstraní 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 / KeepColLinkLevel | Vrá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 / PrintHeadings | Je-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 / PrintOverThenDown | Volby 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ů |
| PrintArea | Obdé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 / AutoFilterRange | Nastaví oblast filtru (např.
"A1:C100"); SaveAs zapíše
<autoFilter ref="..."/> |
| AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumns | Filtrač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 / ApplyAutoFilter | AutoFilterRowVisible(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 / IsProtected | Přepínač ochrany na úrovni listu s volitelným 16bit legacy hashem hesla. Promítá se jako
<sheetProtection> |
| AllowOption / SheetProtectionOptions | 15 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 / SheetProtectHash | Use 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 / PivotSetDataFieldFormat | Metody 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 |
| PivotTables | Kolekce kontingenčních tabulek definovaných na tomto listu |
| MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCM | Okraje nastavení stránky vyjádřené v centimetrech |
| TabColor / TabColorIsAuto | Barva 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> |
| IsChartSheet | Je-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 |
| View | Rež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 |
| Zoom | Procento 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é |
| DisplayGridLines | Je-li False, skryje v zobrazení listu čáry mřížky buněk. Výchozí True. Emituje
showGridLines="0" , je-li False |
| DisplayZeros | Je-li False, buňky s nulovou hodnotou se zobrazí jako prázdné místo "0". Výchozí True. Emituje
showZeros="0" , je-li False |
| DisplayRightToLeft | Je-li True, zobrazí se list v rozvržení zprava doleva (sloupec A vpravo), vhodné pro arabský či hebrejský text. Emituje rightToLeft="1" |
| StandardWidth | Vý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) |
| StandardHeight | Vý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 / ClearRange | Operace 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 / UsedRange | Vrá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 / EntireColumn | Vrá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 |
| FillMergedCellValues | Zkopí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 |
| FormControls | Kolekce 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 overloads | Přidá externí URL hypertextový odkaz na jednu buňku.
Display a Tooltip jsou volitelné. Ekvivalent Hyperlinks.Add(...) |
| AddComment overloads | Př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 / SetRowHeight | Přímé settery používané indexovanými vlastnostmi výše. Nabízené jako pojmenované metody pro volající, kteří preferují nepoužívat syntaxi vlastností |
| HasColWidth / HasRowHeight | Vrá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 / ClearRowHeights | Vrátí každou upravenou šířku či výšku zpět na default Excelu |
| ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsed | Vrátí každý hidden/collapsed override řádku či sloupce zpět na výchozí viditelný a rozbalený stav |
| Images | Kolekce obrázků. Použijte AddImage /
AddImageFromFile jako nejpohodlnější vstupní body. Viz
TXLSXImage / TXLSXImages |
| HeaderFooterImages | Typované 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 |
| ConditionalFormats | Pravidla podmíněného formátování tohoto listu. Použijte AddConditionalFormat jako nejpohodlnější vstup. Viz TXLSXConditionalFormat / TXLSXConditionalFormats |
| DataValidations | Pravidla ověřování dat tohoto listu. Použijte
AddDataValidation / AddListValidation jako nejpohodlnější vstupy. Viz
TXLSXDataValidation / TXLSXDataValidations |
| IgnoredErrors | Typovaná 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 overloads | Přidá pravidlo podmíněného formátování cellIs. Ekvivalent ConditionalFormats.Add(...) |
| AddCondFormatExpression / text / rank / average / duplicate / blank / error helpers | Př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 validations | Přidá celočíselná (whole number) ověření s podporou rozsahu či kritérií |
| ProtectedRanges | Kolekce chráněných oblastí buněk vyžadujících v listu ověření heslem |
| RawWorksheetExts | Vystavuje surová data seznamu rozšíření listu pro přímou XML injekci |
| SparklineGroups / AddSparklineGroup | Spravuje inline mini sparkline grafy uvnitř buněk. AddSparklineGroup vytvoří skupinu referencující datovou oblast |
| ThreadedComments / AddThreadedComment / AddThreadedReply | Podporuje moderní vláknové konverzace v komentářích (odpovědi). AddThreadedComment vytvoří top-level konverzaci a AddThreadedReply přidá odpověď |
| AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChart | Zkratky pro grafy ve stylu Excelu. AddChartFromRange vytvoří ukotvený graf přímo z dat buněk |
| GetSheetProtectOption / SetSheetProtectOption | Programově nastaví či přečte konkrétní příznaky oprávnění ochrany listu |
| PasteFromClipboard | Vloží obsah ze schránky přímo od zadaných souřadnic |
| AlignWithMargins | Určuje, zda se okraje stránky zarovnají s obsahem listu |
| CodeName | Určuje VBA kódové jméno listu |
| ConsolidateXml | Vystavuje surová konsolidovaná XML data |
| DifferentFirst | Zapne samostatné záhlaví/zápatí první stránky |
| DifferentOddEven | Zapne samostatná záhlaví/zápatí lichých a sudých stránek |
| EvenFooterText / EvenHeaderText | Textové řetězce záhlaví a zápatí sudých stránek |
| FirstFooterText / FirstHeaderText | Textové řetězce záhlaví a zápatí první stránky |
| FirstPageNumber | Číslo první tiskové stránky |
| GridColor | Barva mřížky listu |
| HorizontalDpi / VerticalDpi | Tisková rozlišení DPI pro vodorovnou a svislou osu |
| OutlineLevelCol / OutlineLevelRow | Výchozí outline úroveň pro sloupce a řádky |
| PaneState | Stav zamrznutého rolování panelů |
| PhoneticAlignment / PhoneticFontId / PhoneticType | Zarovnání fonetického ruby textu CJK, index písma a fonetický typ |
| PrintErrors | Chování tisku chyb buněk |
| ScaleWithDoc | Škáluje záhlaví/zápatí podle měřítka dokumentu |
| Scenarios | Typovaná 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 |
| ScenariosXml | Legacy fallback na surový inner-XML používaný jen tehdy, když je typovaná kolekce Scenarios prázdná |
| SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCount | Kryptografické vlastnosti pro moderní hashe hesel ochrany listu |
| ShowFormulas | Zobrazí vzorce místo hodnot |
| ShowOutlineSymbols | Zobrazí symboly outline skupin |
| SortState / SortStateXml | Typovaná kritéria řazení a doslovný obsah sort XML |
| SummaryBelow / SummaryRight | Určuje pozici souhrnného řádku a sloupce outline |
| UseFirstPageNumber | Použije explicitní začátek číslování stránek |
| UsePrinterDefaults | Použije výchozí nastavení tiskárny z DEVMODE |
| ZeroHeight | Implicitně skryje nově vkládané řádky |
| ZoomNormal / ZoomPageLayout / ZoomSheetLayout | Hodnoty přiblížení pro normální zobrazení, page layout a page break |
| AddWordArt | Přidá na list tvarový ovládací prvek WordArt |
| BuildRowMajorCellOrder | Sekvenčně optimalizuje úložiště buněk pro iteraci po řádcích |
| ClearRawDrawingAnchors | Vymaže všechny surové nemapované XML anchores kreslicích tvarů |
| CreateConditionalFormatEvaluator | Vytvoří instanci utility stroje pro vyhodnocování podmíněného formátování |
| RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchor | Spravuje 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 / SendBackward | Př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 |
| SaveAsPDF | Exportuje list do PDF souboru či streamu |
| TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevel | Dotáž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 / ToggleRowGrouped | Kompatibilní obálky, které přijmou první detailní sloupec či řádek a přepnou jeho rozřešený souhrnný uzel |
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;