lxHandleX
type
TXLSXTextBox = class
constructor Create(const AText: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer);
property Text: WideString;
property FromRow, FromCol, ToRow, ToCol: Integer;
end;
TXLSXIgnoredError = class
constructor Create(const ASqRef: WideString);
procedure Assign(Source: TXLSXIgnoredError);
property SqRef: WideString;
property EvalError: Boolean;
property TwoDigitTextYear: Boolean;
property NumberStoredAsText: Boolean;
property Formula: Boolean;
property FormulaRange: Boolean;
property UnlockedFormula: Boolean;
property EmptyCellReference: Boolean;
property ListDataValidation: Boolean;
property CalculatedColumn: Boolean;
end;
TXLSXIgnoredErrors = class
function Add(const ASqRef: WideString): TXLSXIgnoredError;
function AddExisting(Source: TXLSXIgnoredError): TXLSXIgnoredError;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXIgnoredError; default;
end;
TXLSXScenarioInputCell = class
property Ref: WideString;
property Value: WideString;
property NumberFormatId: Integer;
property Deleted: Boolean;
property Undone: Boolean;
end;
TXLSXScenarioInputCells = class
function Add(const ARef, AValue: WideString): TXLSXScenarioInputCell;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXScenarioInputCell; default;
end;
TXLSXScenario = class
property Name: WideString;
property Locked: Boolean;
property Hidden: Boolean;
property User: WideString;
property Comment: WideString;
property InputCells: TXLSXScenarioInputCells;
end;
TXLSXScenarios = class
function Add(const AName: WideString): TXLSXScenario;
function FindByName(const AName: WideString): TXLSXScenario;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXScenario; default;
property CurrentIndex: Integer;
property ShownIndex: Integer;
property SqRef: WideString;
end;
TXLSXWorksheet = class
constructor Create(const AName: WideString);
destructor Destroy; override;
procedure SetWorkbook(AWorkbook: TXLSXWorkbook);
function MergeCells(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
function FillMergedCellValues: Integer;
property FormControls: TXLSXFormControls;
function AddHyperlink(ARow, ACol: Integer; const AUrl: WideString): Integer; overload;
function AddHyperlink(ARow, ACol: Integer; const AUrl, ADisplay: WideString): Integer; overload;
function AddHyperlink(ARow, ACol: Integer; const AUrl, ADisplay, ATooltip: WideString): Integer; overload;
function AddComment(ARow, ACol: Integer; const AText: WideString): Integer; overload;
function AddComment(ARow, ACol: Integer; const AText, AAuthor: WideString): Integer; overload;
function AddImage(ARow, ACol: Integer; const AData: AnsiString; AFormat: TXLSXImageFormat): Integer;
function AddImageFromFile(ARow, ACol: Integer; const AFileName: WideString): Integer;
function AddConditionalFormat(const ARange: WideString; AOp: TXLSXCfOperator; const AFormula1: WideString): Integer; overload;
function AddConditionalFormat(const ARange: WideString; AOp: TXLSXCfOperator; const AFormula1, AFormula2: WideString): Integer; overload;
// Excel 2007+ extension rules (v2.36.0+) — mirror the BIFF8 TXLSWorksheet API.
// Their colors are BGR ($00BBGGRR, like a VCL TColor), not the ARGB used by fonts and fills
function AddCondFormatDataBar(const ARange: WideString; AColor: LongWord;
AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
function AddCondFormatColorScale2(const ARange: WideString;
AMinColor, AMaxColor: LongWord;
AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
function AddCondFormatColorScale3(const ARange: WideString;
AMinColor, AMidColor, AMaxColor: LongWord;
AMinKind: TXLSCfValueKind = cfvMinOfRange; const AMinValue: WideString = '';
AMidKind: TXLSCfValueKind = cfvPercentile; const AMidValue: WideString = '50';
AMaxKind: TXLSCfValueKind = cfvMaxOfRange; const AMaxValue: WideString = ''): Integer;
function AddCondFormatIconSet(const ARange: WideString;
ASetType: TXLSIconSetType): Integer;
function AddCondFormatExpression(const ARange: WideString;
const AFormula: WideString): Integer;
function AddCondFormatContainsText(const ARange, AText: WideString): Integer;
function AddCondFormatNotContainsText(const ARange, AText: WideString): Integer;
function AddCondFormatBeginsWith(const ARange, AText: WideString): Integer;
function AddCondFormatEndsWith(const ARange, AText: WideString): Integer;
function AddCondFormatTop10(const ARange: WideString; ARank: Integer;
ABottom: Boolean = False; APercent: Boolean = False): Integer;
function AddCondFormatAboveAverage(const ARange: WideString;
AAbove: Boolean = True): Integer;
function AddCondFormatDuplicateValues(const ARange: WideString): Integer;
function AddCondFormatUniqueValues(const ARange: WideString): Integer;
function AddCondFormatContainsBlanks(const ARange: WideString): Integer;
function AddCondFormatNotContainsBlanks(const ARange: WideString): Integer;
function AddCondFormatContainsErrors(const ARange: WideString): Integer;
function AddCondFormatNotContainsErrors(const ARange: WideString): Integer;
function AddDataValidation(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddDataValidation(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddListValidation(const ARange, AItems: WideString): Integer;
function AddWholeNumberValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddWholeNumberValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddDecimalValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddDecimalValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddDateValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddDateValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddTimeValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddTimeValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddTextLengthValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer; overload;
function AddTextLengthValidation(const ARange: WideString; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer; overload;
function AddCustomValidation(const ARange, AFormula: WideString): Integer;
function CheckDataValidation(ARow, ACol: Integer; const AValue: Variant;
SetIfValid: Boolean = False): Integer;
// Excel-style table (insert table) — see TXLSXTable.
function AddTable(const AName, ARange: WideString; AColumns: TStrings): Integer;
// Chart helpers — anchored or full-page (via AddChartSheet on workbook).
function AddChart(AChartType: TXLSXChartType; const ATitle: WideString;
AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
// Standalone drawing text boxes.
function AddTextBox(const AText: WideString;
AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXTextBox;
function TextBoxCount: Integer;
function TextBox(Index: Integer): TXLSXTextBox;
function IndexOfTextBoxAt(ARow, ACol: Integer): Integer;
function FindTextBoxAt(ARow, ACol: Integer): TXLSXTextBox;
procedure DeleteTextBox(Index: Integer);
function DeleteTextBoxAt(ARow, ACol: Integer): Boolean;
function DeleteTextBoxesInRange(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
procedure ClearTextBoxes;
// Internal Sheet!Cell hyperlink (no rels relationship needed).
function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation: WideString): Integer; overload;
function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation, ADisplay: WideString): Integer; overload;
function AddHyperlinkToCell(ARow, ACol: Integer; const ALocation, ADisplay, ATooltip: WideString): Integer; overload;
// Sheet visibility and selection state.
property Visibility: TXLSXSheetVisibility;
property Visible: Boolean;
property IsSelected: Boolean;
procedure SetIsSelected(Value: Boolean);
// Auto-fit column width / row height from cell content.
procedure AutoFitColumn(ACol: Integer; AMinWidth: Double = 0; AMaxWidth: Double = 0);
procedure AutoFitColumns(AColMin, AColMax: Integer; AMinWidth: Double = 0; AMaxWidth: Double = 0);
procedure AutoFitRow(ARow: Integer; AMinHeight: Double = 0; AMaxHeight: Double = 0);
procedure AutoFitRows(ARowMin, ARowMax: Integer; AMinHeight: Double = 0; AMaxHeight: Double = 0);
// Row / column insert and delete with cascade shift.
procedure InsertRows(BeforeRow, Count: Integer);
procedure DeleteRows(StartRow, Count: Integer);
procedure InsertCols(BeforeCol, Count: Integer);
procedure DeleteCols(StartCol, Count: Integer);
// Manual page breaks.
procedure AddRowBreak(BeforeRow: Integer);
procedure AddColBreak(BeforeCol: Integer);
function HasRowBreak(BeforeRow: Integer): Boolean;
function HasColBreak(BeforeCol: Integer): Boolean;
function IndexOfRowBreak(BeforeRow: Integer): Integer;
function IndexOfColBreak(BeforeCol: Integer): Integer;
procedure RemoveRowBreak(BeforeRow: Integer);
procedure RemoveColBreak(BeforeCol: Integer);
function RemoveRowBreaksInRange(FirstRow, LastRow: Integer): Integer;
function RemoveColBreaksInRange(FirstCol, LastCol: Integer): Integer;
procedure ClearRowBreaks;
procedure ClearColBreaks;
procedure ClearAllPageBreaks;
function RowBreakCount: Integer;
function ColBreakCount: Integer;
function RowBreaks(Index: Integer): Integer;
function ColBreaks(Index: Integer): Integer;
function KeepRowLinkLevel(AfterRow: Integer): Integer;
function KeepColLinkLevel(AfterCol: Integer): Integer;
function Calculate(const Formula: WideString): Variant;
function ForEachCell(Callback: TXLSXCellReadEvent): Integer;
function ForEachFormattedCell(Callback: TXLSXCellTextEvent): Integer;
function ForEachRow(Callback: TXLSXRowReadEvent): Integer;
function FindText(const SearchText: WideString; out Row, Col: Integer): Boolean; overload;
function FindText(const SearchText: WideString; out Row, Col: Integer; MatchCase: Boolean): Boolean; overload;
function ReplaceText(const SearchText, ReplacementText: WideString): Integer; overload;
function ReplaceText(const SearchText, ReplacementText: WideString; MatchCase: Boolean): Integer; overload;
function FindText(const SearchText: WideString; out Row, Col: Integer; Options: TXLSXFindOptions; StartRow, StartCol: Integer): Boolean; overload;
function FindTextIn(const SearchText: WideString; out Row, Col: Integer; Options: TXLSXFindOptions; FirstRow, FirstCol, LastRow, LastCol, StartRow, StartCol: Integer): Boolean;
function ReplaceText(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions): Integer; overload;
function ReplaceText(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions; Callback: TXLSXReplaceEvent): Integer; overload;
function ReplaceTextIn(const SearchText, ReplacementText: WideString; Options: TXLSXFindOptions; FirstRow, FirstCol, LastRow, LastCol: Integer; Callback: TXLSXReplaceEvent): Integer;
function WriteCells(const ARange: WideString; Callback: TXLSXCellWriteEvent): Integer; overload;
function WriteCells(ARow1, ACol1, ARow2, ACol2: Integer; Callback: TXLSXCellWriteEvent): Integer; overload;
function WriteRows(const ARange: WideString; Callback: TXLSXRowWriteEvent): Integer; overload;
function WriteRows(ARow1, ACol1, ARow2, ACol2: Integer; Callback: TXLSXRowWriteEvent): Integer; overload;
function WriteFloatRowValues(ARow, ACol: Integer; const AValues: array of Double): Integer;
function WriteStringRowValues(ARow, ACol: Integer; const AValues: array of WideString): Integer;
function WriteRowValues(ARow, ACol: Integer; const AValues: array of Variant): Integer;
function WriteFloatColumnValues(ARow, ACol: Integer; const AValues: array of Double): Integer;
function WriteStringColumnValues(ARow, ACol: Integer; const AValues: array of WideString): Integer;
function WriteColumnValues(ARow, ACol: Integer; const AValues: array of Variant): Integer;
// Column / row metadata.
procedure SetColWidth(ACol: Integer; AWidth: Double);
function HasColWidth(ACol: Integer): Boolean;
procedure ClearColWidths;
procedure SetRowHeight(ARow: Integer; AHeight: Double);
function HasRowHeight(ARow: Integer): Boolean;
procedure ClearRowHeights;
procedure SetRowOutlineLevel(ARow, ALevel: Integer);
function HasRowOutlineLevel(ARow: Integer): Boolean;
procedure ClearRowOutlineLevels;
procedure SetColOutlineLevel(ACol, ALevel: Integer);
function HasColOutlineLevel(ACol: Integer): Boolean;
procedure ClearColOutlineLevels;
procedure SetRowHidden(ARow: Integer; AHidden: Boolean);
procedure SetColHidden(ACol: Integer; AHidden: Boolean);
procedure ClearRowHidden;
procedure ClearColHidden;
procedure SetRowCollapsed(ARow: Integer; ACollapsed: Boolean);
procedure SetColCollapsed(ACol: Integer; ACollapsed: Boolean);
procedure ClearRowCollapsed;
procedure ClearColCollapsed;
function TryGetOutlineNode(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; out ANode: TXLSOutlineNode): Boolean;
function SetOutlineNodeCollapsed(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; ACollapsed: Boolean; AChildMode: TXLSOutlineChildMode = xocPreserve): Boolean;
procedure SetOutlineDisplayLevel(AAxis: TXLSOutlineAxis; ADisplayLevel: Integer; AChildMode: TXLSOutlineChildMode = xocPreserve);
// Range copy / move / clear API.
procedure ClearRangeValues(const ARange: WideString); overload;
procedure ClearRangeValues(ARow1, ACol1, ARow2, ACol2: Integer); overload;
procedure ClearRange(ARow1, ACol1, ARow2, ACol2: Integer);
procedure CopyRange(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2, ADstRow, ADstCol: Integer);
procedure CopyRangeTo(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2: Integer;
ATargetSheet: TXLSXWorksheet; ADstRow, ADstCol: Integer);
procedure CopyFrom(ASource: TXLSXWorksheet);
procedure MoveRange(ASrcRow1, ASrcCol1, ASrcRow2, ASrcCol2, ADstRow, ADstCol: Integer);
procedure SortRange(ARow1, ACol1, ARow2, ACol2: Integer;
const AKeyCols: array of Integer; const ADescending: array of Boolean);
function GetCellVisibleFormat(ARow, ACol: Integer): TXLSXCellStyleState;
function Subtotal(ARow1, ACol1, ARow2, ACol2, AChangeColumn,
AFunction: Integer; const ASubtotalColumns: array of Integer): Integer; overload;
function Subtotal(ARow1, ACol1, ARow2, ACol2, AChangeColumn,
AFunction: Integer; const ASubtotalColumns: array of Integer;
const AGrandTotalText: WideString): Integer; overload;
function SubtotalDefaultEnglishString(AFunction: Integer): WideString;
// Frozen panes (top rows / left columns).
procedure FreezePanes(ARow, ACol: Integer);
procedure UnfreezePane;
property FreezeCol, FreezeRow: Integer;
// Page setup.
procedure SetPageMargins(ALeft, ARight, ATop, ABottom: Double); overload;
procedure SetPageMargins(ALeft, ARight, ATop, ABottom, AHeader, AFooter: Double); overload;
property MarginLeft, MarginRight, MarginTop, MarginBottom,
MarginHeader, MarginFooter: Double;
property MarginLeftCM, MarginRightCM, MarginTopCM, MarginBottomCM,
MarginHeaderCM, MarginFooterCM: Double;
property PageLandscape: Boolean;
property PaperSize, PageScale, FitToWidth, FitToHeight: Integer;
property HeaderText, FooterText: WideString;
property LeftHeader, CenterHeader, RightHeader: WideString;
property LeftFooter, CenterFooter, RightFooter: WideString;
property CenterHorizontally, CenterVertically: Boolean;
property PrintGridlines: Boolean;
property PrintHeadings: Boolean;
property BlackAndWhite: Boolean;
property Draft: Boolean;
property PrintNotes: Boolean;
property PrintOverThenDown: Boolean;
property PrintArea: WideString;
property PrintTitleRows: WideString;
property PrintTitleCols: WideString;
// Auto-filter range (e.g. "A1:C100"). Empty = no filter.
procedure SetAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer); overload;
procedure SetAutoFilter(const ARange: WideString); overload;
procedure ClearAutoFilter;
property AutoFilterRange: WideString;
property AutoFilterColumns: TXLSXAutoFilterColumns;
function AddAutoFilterColumn(AColId: Integer; AOp1: TXLSXAutoFilterOp; const ACriteria1: WideString): TXLSXAutoFilterColumn; overload;
function AddAutoFilterColumn(AColId: Integer; AOp1: TXLSXAutoFilterOp; const ACriteria1: WideString; AOp2: TXLSXAutoFilterOp; const ACriteria2: WideString; AAndConnector: Boolean): TXLSXAutoFilterColumn; overload;
procedure ClearAutoFilterColumns;
function AutoFilterRowVisible(ARow: Integer): Boolean;
function PreviewAutoFilterRows(Callback: TXLSXAutoFilterRowEvent): Integer;
function ApplyAutoFilter(const ARange: WideString): Boolean;
// Sheet protection (16-bit legacy hash).
procedure Protect; overload;
procedure Protect(const APassword: WideString); overload;
procedure UnProtect;
property IsProtected: Boolean;
property AllowOption[Option: TXLSXSheetProtectionOption]: Boolean;
property SheetProtectionOptions: TXLSXSheetProtectionOptions;
property PageSetupTouched: Boolean;
property SheetProtectHash: WideString;
// Sheet tab color + chart-sheet flag.
property TabColor: LongWord;
property TabColorIsAuto: Boolean;
property IsChartSheet: Boolean;
property Name: WideString;
property Workbook: TXLSXWorkbook;
property AlignWithMargins: Boolean;
property CodeName: WideString;
property ConsolidateXml: WideString;
property DifferentFirst: Boolean;
property DifferentOddEven: Boolean;
property EvenFooterText: WideString;
property EvenHeaderText: WideString;
property FirstFooterText: WideString;
property FirstHeaderText: WideString;
property FirstPageNumber: Integer;
property GridColor: LongWord;
property HorizontalDpi: Integer;
property OutlineLevelCol: Integer;
property OutlineLevelRow: Integer;
property PaneState: WideString;
property PhoneticAlignment: WideString;
property PhoneticFontId: Integer;
property PhoneticType: WideString;
property PrintErrors: Integer;
property ScaleWithDoc: Boolean;
property ScenariosXml: WideString;
property SheetProtectAlgorithmName: WideString;
property SheetProtectHashValue: WideString;
property SheetProtectSaltValue: WideString;
property SheetProtectSpinCount: Integer;
property ShowFormulas: Boolean;
property ShowOutlineSymbols: Boolean;
property SortState: TXLSXSortState;
property SortStateXml: WideString;
property SummaryBelow: Boolean;
property SummaryRight: Boolean;
property UseFirstPageNumber: Boolean;
property UsePrinterDefaults: Boolean;
property VerticalDpi: Integer;
property ZeroHeight: Boolean;
property ZoomNormal: Integer;
property ZoomPageLayout: Integer;
property ZoomSheetLayout: Integer;
// Sheet view display options.
property View: TXLSXWindowView;
property Zoom: Integer;
property DisplayGridLines: Boolean;
property DisplayZeros: Boolean;
property DisplayRightToLeft: Boolean;
property StandardWidth: Double;
property StandardHeight: Double;
// Collections owned by the worksheet.
property Cells: TXLSXCells;
property MergedCells: TXLSXMergedCells;
property Hyperlinks: TXLSXHyperlinks;
property Comments: TXLSXComments;
property Images: TXLSXImages;
property ConditionalFormats: TXLSXConditionalFormats;
property DataValidations: TXLSXDataValidations;
property IgnoredErrors: TXLSXIgnoredErrors;
property Scenarios: TXLSXScenarios;
property Tables: TXLSXTables;
property Charts: TXLSXCharts;
property PivotTables: TXLSPivotTables;
function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
function AddPivotTableCopy(SourcePivot: TXLSPivotTable; DestRow, DestCol: Integer; const NewName: WideString): TXLSPivotTable;
function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
property ColWidth[ACol: Integer]: Double;
property RowHeight[ARow: Integer]: Double;
property RowOutlineLevel[ARow: Integer]: Integer;
property ColOutlineLevel[ACol: Integer]: Integer;
property RowHidden[ARow: Integer]: Boolean;
property ColHidden[ACol: Integer]: Boolean;
property RowCollapsed[ARow: Integer]: Boolean;
property ColCollapsed[ACol: Integer]: Boolean;
property Range[const Ref: WideString]: TXLSXRange;
property RCRange[R1, C1, R2, C2: Integer]: TXLSXRange;
property UsedRange: TXLSXRange;
function EntireRow(ARow: Integer): TXLSXRange;
function EntireColumn(ACol: Integer): TXLSXRange;
property ProtectedRanges: TXLSXProtectedRanges;
property RawWorksheetExts: TXLSXRawWorksheetExts;
property SparklineGroups: TXLSXSparklineGroups;
property ThreadedComments: TXLSXThreadedComments;
function AddAreaChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddBarChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddChartFromRange(const ARange: WideString; AChartType: TXLSXChartType): TXLSXChart;
function AddColumnChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddLineChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddPieChart(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart;
function AddSparklineGroup(const ARange, ALocation: WideString; AType: TXLSXSparklineType): TXLSXSparklineGroup;
function AddThreadedComment(ARow, ACol: Integer; const AText, AAuthor: WideString): TXLSXThreadedComment;
function AddThreadedReply(AParentComment: TXLSXThreadedComment; const AText, AAuthor: WideString): TXLSXThreadedComment;
function GetSheetProtectOption(Option: TXLSXSheetProtectionOption): Boolean;
procedure SetSheetProtectOption(Option: TXLSXSheetProtectionOption; Value: Boolean);
procedure PasteFromClipboard(StartRow, StartCol: Integer);
function AddWordArt(const AText, APreset: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXTextBox;
procedure BuildRowMajorCellOrder;
procedure ClearRawDrawingAnchors;
function CreateConditionalFormatEvaluator: TXLSXConditionalFormatEvaluator;
function RawDrawingAnchor(Index: Integer): WideString;
function RawDrawingAnchorCount: Integer;
function AddRawDrawingAnchor(const AXml: WideString): TXLSXDrawingObject;
procedure BringToFront(AObject: TXLSXDrawingObject);
procedure SendToBack(AObject: TXLSXDrawingObject);
procedure BringForward(AObject: TXLSXDrawingObject);
procedure SendBackward(AObject: TXLSXDrawingObject);
function SaveAsPDF(const FileName: WideString): Integer; overload;
function SaveAsPDF(Stream: TStream): Integer; overload;
procedure ToggleColGrouped(ACol: Integer);
procedure ToggleRowGrouped(ARow: Integer);
end;
TXLSXBuiltinCellStyle = (
xbsNormal, xbsGood, xbsBad, xbsNeutral,
xbsCalculation, xbsCheckCell, xbsExplanatoryText, xbsInput,
xbsLinkedCell, xbsNote, xbsOutput, xbsWarningText,
xbsHeading1, xbsHeading2, xbsHeading3, xbsHeading4, xbsTitle, xbsTotal,
xbsAccent1, xbsAccent2, xbsAccent3, xbsAccent4, xbsAccent5, xbsAccent6);
TXLSXRange = class
function RefA1: WideString;
function SaveAsHTML(const FileName: WideString): Integer; overload;
function SaveAsHTML(const FileName: WideString; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream): Integer; overload;
function SaveAsHTML(Stream: TStream; Options: TXLSXHtmlExportOptions): Integer; overload;
procedure SetValue(const V: Variant);
procedure SetFormula(const F: WideString);
procedure ClearValues;
procedure Clear;
procedure ClearAll;
procedure SetFontIndex(AIdx: Integer);
procedure SetFillIndex(AIdx: Integer);
procedure SetBorderIndex(AIdx: Integer);
procedure SetNumberFormatIndex(AIdx: Integer);
procedure SetAlignmentIndex(AIdx: Integer);
procedure SetNumberFormat(const Fmt: WideString);
procedure SetBorders(Kind: TXLSXBorderEdgeKind; Style: TXLSXBorderStyle); overload;
procedure SetBorders(Kind: TXLSXBorderEdgeKind; Style: TXLSXBorderStyle; Color: LongWord); overload;
procedure SetLocked(ALocked: Boolean);
procedure SetFormulaHidden(AHidden: Boolean);
procedure AutoFitColumns(AMinWidth: Double = 0; AMaxWidth: Double = 0);
procedure AutoFitRows(AMinHeight: Double = 0; AMaxHeight: Double = 0);
procedure Merge; overload;
procedure Merge(Across: OleVariant); overload;
procedure Unmerge;
function Offset(DRow, DCol: Integer): TXLSXRange;
function Resize(NewRowCount, NewColCount: Integer): TXLSXRange;
procedure Sort(AKeyColumn: Integer; ADescending: Boolean = False); overload;
procedure Sort(const AKeyColumns: array of Integer; const ADescending: array of Boolean); overload;
procedure ApplyBuiltinStyle(AStyle: TXLSXBuiltinCellStyle);
procedure CopyTo(ADestRow, ADestCol: Integer);
procedure MoveTo(ADestRow, ADestCol: Integer);
procedure InsertRows;
procedure DeleteRows;
procedure InsertCols;
procedure DeleteCols;
end;
| Name | Имя вкладки листа, отображаемое в Excel |
| SetWorkbook / Workbook | Задает и предоставляет обратную ссылку на книгу, используемую помощниками ячеек и общими ресурсами книги, такими как общие форматы чисел, заливки, границы и поиск в таблице общих строк |
| Cells | Коллекция ячеек. Используйте Cells.Item[Row, Col].Value
См. TXLSXCells / TXLSXCell |
| Calculate | Компилирует и вычисляет строку формулы Excel в контексте этого листа
Допускается ведущий символ = , а локальные ссылки листа, ячейки с формулами, межстраничные ссылки, именованные диапазоны, а также поддерживаемые текстовые, даты, рабочие дни, инженерные/преобразования систем счисления, побитовые, статистические, агрегатные и математические функции вычисляются общим вычислителем формул книги |
| GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / 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 обходит существующие строки в порядке строк и сообщает первый и последний загруженный столбцы каждой строки. Методы FindTextIn и ReplaceTextIn сканируют загруженные текстовые ячейки в порядке строк, пропускают формулы и нетекстовые значения и могут выполнять поиск с учетом регистра. Метод WriteCells запрашивает значения для числового диапазона или диапазона в формате A1 и поддерживает пропуск отдельных ячеек и отмену. Метод WriteRows запрашивает массив Variant для каждой строки и поддерживает пропуск всей строки и отмену |
| MergedCells | Коллекция объединенных диапазонов. См TXLSXMergedCells |
| Hyperlinks | Коллекция гиперссылок. См TXLSXHyperlinks |
| Comments | Коллекция комментариев ячеек. См TXLSXComments |
| Tables / AddTable | Область таблицы в стиле Excel на листе. См TXLSXTable / TXLSXTables |
| Charts / AddChart | Коллекция встроенных диаграмм. См
TXLSXChart / TXLSXCharts
Перечисление типов диаграмм поддерживает гистограммы, линейчатые, графики, круговые, с областями, кольцевые, точечные, пузырьковые и лепестковые диаграммы
Для полностраничной диаграммы используйте метод
Workbook.AddChartSheet(...) |
| AddTextBox / TextBoxCount / TextBox / FindTextBoxAt | Создает, перечисляет, находит, удаляет и очищает
отдельные графические текстовые поля, привязанные к прямоугольникам ячеек
Методы
IndexOfTextBoxAt и FindTextBoxAt находят
первое текстовое поле, содержащее ячейку, а методы
DeleteTextBoxAt, DeleteTextBoxesInRange,
DeleteTextBox, и ClearTextBoxes удаляют
отдельные или сгруппированные текстовые поля, не затрагивая комментарии ячеек |
| AddHyperlinkToCell overloads | Внутренняя якорная гиперссылка — переходит к
расположению
Sheet!Cell в другом месте книги. Связь
в rels не создается. См
TXLSXHyperlink.Location |
| RowOutlineLevel / ColOutlineLevel | Уровень вложенности группы (0..7) для соответствующей строки
или столбца. Метод сохранения выводит outlineLevel="N" в записи строки/столбца |
| RowHidden / ColHidden | Boolean — скрывает строку или столбец из вида
(hidden="1") |
| RowCollapsed / ColCollapsed | Boolean — отмечает строку или столбец, родительская группа
которых свернута (collapsed="1") |
| FreezePanes(Row, Col) / UnfreezePane | Задает закрепление областей — верхние Row
строк и левые Col столбцов остаются видимыми при
прокрутке остальной части. Свойства FreezeCol и
FreezeRow доступны только для чтения и возвращают
текущее закрепление |
| SetPageMargins / Page setup properties | Все шесть полей, а также свойства PageLandscape,
PaperSize, PageScale,
FitToWidth, FitToHeight,
HeaderText, FooterText,
LeftHeader, CenterHeader,
RightHeader, LeftFooter,
CenterFooter, RightFooter,
CenterHorizontally, и CenterVertically. Установка любого из них
активирует соответствующие блоки <pageMargins>,
<pageSetup>, и <headerFooter>
при сохранении. По возможности используйте именованные константы xlsxPaper* ,
такие как xlsxPaperLetter, xlsxPaperA4,
xlsxPaperA3, и xlsxPaperLegal , вместо
числовых кодов размеров бумаги Excel |
| Visibility | Видимость листа: xlsxSheetVisible
(по умолчанию), xlsxSheetHidden (скрыт, но может быть отображен через
интерфейс Excel) или xlsxSheetVeryHidden (для отображения требуется VBA или
код). Метод сохранения выводит атрибут state в
элементе
<sheet> файла xl/workbook.xmlVisible является удобным псевдонимом типа Boolean для стандартных
операций отображения или скрытия |
| SetIsSelected / IsSelected | При значении Trueвкладка листа отображается
как выбранная (выделенная). Одновременно может быть выбрано несколько листов
Метод сохранения выводит tabSelected="1" в соответствующем
элементе <sheetView> |
| AutoFitColumn / AutoFitColumns | AutoFitColumn(Col, MinWidth, MaxWidth) измеряет каждую
ячейку в столбце и устанавливает ColWidth[Col] в
соответствии с самым широким содержимым (символ ASCII = 1 ед., CJK = 2 ед., масштаб шрифта Calibri 11pt), а затем применяет необязательные ограничения минимальной и максимальной ширины
Метод
AutoFitColumns(Min, Max, MinWidth, MaxWidth) выполняет итерацию по диапазону столбцов,
ограниченному последним столбцом, содержащим ячейки |
| AutoFitRow / AutoFitRows | AutoFitRow(Row, MinHeight, MaxHeight) устанавливает
RowHeight[Row] в соответствии с содержимым самой высокой ячейки в этой строке
(в пунктах), а затем применяет необязательные ограничения минимальной и максимальной высоты
Метод
AutoFitRows(Min, Max, MinHeight, MaxHeight) выполняет итерацию по диапазону
строк, ограниченному последней строкой, содержащей ячейки |
| InsertRows / DeleteRows | InsertRows(BeforeRow, Count) сдвигает
каждую строку на уровне BeforeRow или ниже вниз на
Count. Метод DeleteRows(StartRow, Count) удаляет
строки в диапазоне [StartRow, StartRow+Count-1] и подтягивает оставшуюся часть
вверх. Оба метода каскадно обновляют ячейки, объединенные диапазоны, высоту строк, уровни структуры,
флаги скрытия, гиперссылки, комментарии, закрепление областей, а также ссылки автофильтров / условного
форматирования / проверки данных, таблицы, формулы ячеек, формулы условного форматирования / проверки данных,
внутренние цели гиперссылок, ссылки параметров печати, ручные разрывы страниц, критерии столбцов автофильтра, диапазоны серий диаграмм и именованные диапазоны,
указывающие на редактируемый лист, якоря изображений и диаграмм |
| InsertCols / DeleteCols | Аналогично методам InsertRows / DeleteRows , но
для столбцов. Также обновляются ширина столбцов, уровни структуры и флаги скрытия |
| AddRowBreak / AddColBreak | AddRowBreak(N) вставляет ручной разрыв
страницы перед строкой N (то есть строка N начинает
новую печатную страницу). Метод AddColBreak(N) вставляет разрыв перед столбцом
N. Метод сохранения записывает элементы <rowBreaks> /
<colBreaks> в XML листа |
| HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreak | Запрашивает или находит один ручной разрыв по его индексу «перед» |
| RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRange | Удаляет один ручной разрыв или все разрывы в закрытом интервале строк/столбцов; помощники диапазона принимают перевернутые координаты и возвращают количество удаленных разрывов |
| ClearRowBreaks / ClearColBreaks / ClearAllPageBreaks | Удаляет все разрывы строк, все разрывы столбцов или и те, и другие |
| RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i] | Перебирает сохранённые индексы разрывов (значения «Before» с отсчётом с 1) |
| KeepRowLinkLevel / KeepColLinkLevel | Возвращает самый сильный уровень «держать вместе», связывающий
строку (или столбец) после данного индекса с блоком выше (или левее),
или 0 Итерирует сохраненные индексы разрывов (значения «перед»,
начиная с 1) |
| PrintGridlines / PrintHeadings | При значении Trueметод сохранения выводит
printGridLines="1" /
printRowColHeadings="1" внутри
<printOptions> , чтобы сетка ячеек или заголовки
строк/столбцов отображались на печатной странице |
| BlackAndWhite / Draft / PrintNotes / PrintOverThenDown | Параметры печати в <pageSetup>:
BlackAndWhite выполняет рендеринг в черно-белом режиме;
Draft отключает графику для ускорения предварительного просмотра;
PrintNotes выводит комментарии ячеек в текущем виде;
PrintOverThenDown переключает порядок страниц сначала
слева направо вместо порядка сверху вниз |
| PrintArea | Прямоугольная область печати Excel (например,
"$A$1:$D$10"). Записывается как
<definedName name="_xlnm.Print_Area"> на уровне
книги с областью видимости для этого листа. Пустая строка = не задано |
| PrintTitleRows / PrintTitleCols | Диапазоны строк или столбцов, которые повторяются на каждой печатной
странице (например, "$1:$3" или "$A:$B"). Записывается как
<definedName name="_xlnm.Print_Titles"> |
| SetAutoFilter / AutoFilterRange | Задаёт диапазон фильтра (например
"A1:C100"); SaveAs записывает
<autoFilter ref="..."/> |
| AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumns | Критерии фильтрации по столбцам, привязанные к диапазону
автофильтра. AddAutoFilterColumn(ColId, Op, Criteria) добавляет
фильтр с одним критерием; перегрузка с двумя критериями добавляет пару AND/OR
AutoFilterColumns.FindByColId(ColId) возвращает существующий
объект критериев, а AutoFilterColumns.DeleteByColId(ColId)
удаляет его без ручного сканирования Items, и
AutoFilterColumns.ClearCriteria очищает все критерии столбцов,
сохраняя диапазон фильтра
ColId — это смещение с нулевой базой внутри диапазона автофильтра
(не столбец листа). SaveAs записывает <filterColumn>
внутри <autoFilter> |
| AutoFilterRowVisible / PreviewAutoFilterRows / ApplyAutoFilter | AutoFilterRowVisible(Row) вычисляет сохранённые критерии автофильтра XLSX для одной строки данных. PreviewAutoFilterRows walks the data rows in AutoFilterRange, сообщает видимое состояние каждой строки через колбэк, возвращает количество посещённых видимых строк и не меняет флаги скрытия строк. ApplyAutoFilter применяет критерии автофильтра, скрывает несовпадающие строки и возвращает, удалось ли |
| Protect / UnProtect / IsProtected | Переключатель защиты на уровне листа с необязательным
16-битным устаревшим хэшем пароля. Отображается в виде элемента
<sheetProtection> |
| AllowOption / SheetProtectionOptions | 15 детализированных опций разрешений защиты (таких как форматирование ячеек, вставка строк/столбцов, сортировка, автофильтрация, выбор заблокированных/разблокированных ячеек и так далее), соответствующих списку разрешений Excel «Защитить лист» |
| PageSetupTouched / SheetProtectHash | Используйте свойство PageSetupTouched для проверки того, были ли
значения параметров страницы изменены явно, и свойство
SheetProtectHash для чтения/записи текстового значения устаревшего 16-битного хэша
защиты листа, используемого старыми форматами файлов XLS |
| AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormat | Методы для создания, копирования и форматирования сводных таблиц. AddPivotTable строит сводную таблицу из исходного диапазона в нотации A1, например 'Data!A1:C9', и привязывает её к 1-индексной ячейке DestRow, DestCol; для некорректного источника или якоря за пределами листа возвращает nil. AddPivotTableCopy делает глубокую копию существующей сводной таблицы — из этой или другой книги — под новым 1-индексным якорем на этом листе (пустое NewName даёт '<source> (2)'). PivotSetDataFieldFormat регистрирует числовой формат для поля данных и возвращает индекс этого числового формата |
| PivotTables | Коллекция сводных таблиц, определенных на этом листе |
| MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCM | Поля параметров страницы, выраженные в сантиметрах |
| TabColor / TabColorIsAuto | Цвет ARGB для вкладки листа в Excel;
присваивание TabColor устанавливает TabColorIsAuto в False, а
TabColorIsAuto = True (по умолчанию) подавляет вывод
дочернего элемента
<tabColor> в <sheetPr> |
| IsChartSheet | При значении True метод сохранения записывает лист в
xl/chartsheets/sheetN.xml вместо
xl/worksheets/sheetN.xml и размещает
Charts[0] на всю страницу. Для стандартной настройки
используйте вспомогательный метод
Workbook.AddChartSheet(...) |
| View | Режим просмотра листа. Допустимые значения:
xlsxNormalView, xlsxPageBreakPreviewи
xlsxPageLayoutView. Метод сохранения записывает соответствующий
атрибут
view в <sheetView>; метод открытия
считывает его обратно |
| Zoom | Процент масштабирования вида листа (от 10 до 400; по умолчанию 100,
ограничивается при присвоении). Выводит zoomScale="N" внутри
<sheetView>; значение по умолчанию опускается, чтобы не измененные
листы оставались чистыми |
| DisplayGridLines | При значении Falseскрывает линии сетки ячеек
в режиме просмотра листа. По умолчанию True. Выводит
showGridLines="0" при значении False |
| DisplayZeros | При значении Falseячейки с нулевым значением
отображаются пустыми вместо «0». По умолчанию True. Выводит
showZeros="0" при значении False |
| DisplayRightToLeft | При значении Trueлист отображается в
направлении справа налево (столбец A справа), что подходит для текста на арабском языке или
иврите. Выводит rightToLeft="1" |
| StandardWidth | Ширина столбца по умолчанию в единицах ширины символа Excel
(например, 8.43 = встроенное значение по умолчанию). Установка значения > 0 выводит
<sheetFormatPr defaultColWidth="..."/>0 означает, что ширина не задана (элемент опускается) |
| StandardHeight | Высота строки по умолчанию в пунктах (например, 15 = встроенное
значение по умолчанию). Установка значения > 0 выводит
defaultRowHeight="..." в элементе
<sheetFormatPr>0 означает, что высота не задана |
| ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRange | Операции с диапазонами ячеек. Методы CopyRange и CopyRangeTo дублируют значения, формулы, индексы стилей и форматированный текст; метод CopyFrom дублирует все содержимое и настройки листа (включая объединенные ячейки, параметры страницы, состояние просмотра, автофильтры и так далее); эти три копируют только содержимое ячеек, поэтому примечания остаются на месте, а CloneRangeTo или Sheets.AddCopy переносит примечания вместе с их фрагментами форматированного текста; метод MoveRange пропускает перекрытие назначения; метод SortRange сортирует строки внутри прямоугольника по одному или нескольким абсолютным ключевым столбцам; метод ClearRange удаляет ячейки; метод ClearRangeValues очищает значения и формулы, сохраняя индексы стилей |
| Range / RCRange / UsedRange | Возвращают принадлежащие листу
оболочки
TXLSXRange
для ссылок A1, числовых координат (начиная с 1) или
заполненной области листа. Метод TXLSXRange.SaveAsHTML(FileName)
и TXLSXRange.SaveAsHTML(Stream) экспортируют только
выбранный диапазон в виде таблицы HTML в кодировке UTF-8. Оболочки диапазона также предоставляют
вспомогательные методы для пакетной установки значений, формул, индексов стилей, форматов чисел, границ,
флагов защиты, автоподбора размеров, объединения, смещения, изменения размера, многоключевой
сортировки, встроенных стилей ячеек, копирования/перемещения и вставки/удаления целых строк или столбцов |
| EntireRow / EntireColumn | Возвращают диапазоны целых строк или целых столбцов для указанного индекса, подходящие для структурных операций или распространения стилей |
| MergeCells(R1, C1, R2, C2) | Добавляет объединенный прямоугольник и возвращает индекс новой записи
Координаты начинаются с 1, включительно с обоих концов. Эквивалентно вызову
MergedCells.Add(R1, C1, R2, C2). Для кода в стиле диапазона вызов
Range['A1:C3'].Merge(True) создает по одному объединенному диапазону для
каждой строки, что соответствует поведению объединения по строкам в Excel |
| FillMergedCellValues | Добавляет внешнюю гиперссылку URL к одной ячейке Параметры |
| FormControls | Коллекция элементов управления форм листа (кнопки,
флажки, переключатели, выпадающие списки, списки), созданных семейством helper-функций
AddFormButton / AddFormCheckBox /
AddFormRadioButton / AddFormComboBox /
AddFormListBox . Каждая запись раскрывает
прямоугольник привязки, связанную ячейку и тип элемента управления |
| AddHyperlink overloads | Добавляет гиперссылку на внешний URL к одной ячейке
Display и Tooltip являются необязательными. Эквивалентно
вызову Hyperlinks.Add(...) |
| AddComment overloads | Добавляет комментарий к одной ячейке. Параметр Author
является необязательным. Эквивалентно вызову Comments.Add(...) |
| ColWidth[Col] | Ширина столбца в единицах Excel (та же шкала, что и в
диалоговом окне ширины столбца в Excel). Чтение незаданного столбца возвращает
0; присвоение значения устанавливает ширину для этого
столбца (индексация с 1). При сохранении выводится одна запись <col> для каждого настроенного
столбца; при открытии блок <cols> загружается обратно в
карту |
| RowHeight[Row] | Высота строки в пунктах (та же шкала, что и в диалоговом окне
высоты строки в Excel). Чтение незаданной строки возвращает 0;
присвоение значения устанавливает высоту для этой строки (индексация с 1). При сохранении записываются
атрибуты ht и customHeight="1" для каждой
строки с настраиваемой высотой, даже для строк, которые содержат
только высоту без данных ячеек <row> с пользовательской высотой, даже строки, которые
несут только высоту без данных в ячейках |
| SetColWidth / SetRowHeight | Прямые методы установки, используемые индексированными свойствами выше Предоставляются как именованные методы для вызывающих программ, которые предпочитают не использовать синтаксис свойств |
| HasColWidth / HasRowHeight | Возвращает True , если лист имеет
настраиваемую ширину или высоту для указанного индекса. Используйте это, чтобы
отличить значение «не задано» от намеренно установленного значения 0 value |
| ClearColWidths / ClearRowHeights | Сбрасывает каждую настраиваемую ширину или высоту обратно к значению по умолчанию в Excel |
| ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsed | Сбрасывает каждое переопределение скрытия/свертывания строки или столбца обратно к состоянию по умолчанию (видимое и развернутое) |
| Images | Коллекция изображений. Используйте методы AddImage /
AddImageFromFile в качестве удобных точек входа. См.
TXLSXImage / TXLSXImages |
| HeaderFooterImages | Правила условного форматирования для этого листа Используйте метод TXLSXHeaderFooterImage / TXLSXHeaderFooterImages |
| ConditionalFormats | Правила условного форматирования для этого листа
Используйте AddConditionalFormat в качестве удобной точки входа
См. TXLSXConditionalFormat / TXLSXConditionalFormats |
| DataValidations | Правила проверки данных для этого листа. Используйте методы
AddDataValidation / AddListValidation в качестве
удобных точек входа. См
TXLSXDataValidation / TXLSXDataValidations |
| IgnoredErrors | Типизированные метаданные подавления ошибок листа
Каждая TXLSXIgnoredError объединяет разделённый пробелами
многодиапазонный SqRef со стандартными флагами вычисления, даты,
числа-как-текст, формулы, незаблокированной формулы, пустой ссылки,
проверки данных и вычисляемого столбца
Записи переживают копирование листов и циклы открытия/сохранения, а
их диапазоны следуют за вставкой или удалением строк и столбцов |
| AddImage / AddImageFromFile | Добавляет изображение, привязанное к ячейке. Метод AddImage принимает
массив байтов и формат TXLSXImageFormat;
AddImageFromFile считывает файл и определяет его формат по расширению
Эквивалентно вызову метода Images.Add для коллекции |
| AddConditionalFormat overloads | Добавляет правило условного форматирования cellIs
Эквивалентно вызову ConditionalFormats.Add(...) |
| AddCondFormatExpression / text / rank / average / duplicate / blank / error helpers | Добавляет специализированные правила условного форматирования для формул, сопоставления текста, верхних/нижних рангов, значений выше/ниже среднего, дублирующихся или уникальных значений, пустых, непустых ячеек, ошибок и отсутствия ошибок. Возвращаемый индекс можно использовать с ConditionalFormats[Index].Style для применения форматирования |
| AddWholeNumberValidation / AddWholeNumberValidation overloads / Whole whole-number validations | Добавляет правила валидации целых чисел с поддержкой диапазонов или критериев |
| ProtectedRanges | Коллекция защищенных диапазонов ячеек, требующих ввода пароля на листе |
| RawWorksheetExts | Предоставляет данные списка расширений листа в сыром формате XML для прямой вставки |
| SparklineGroups / AddSparklineGroup | Управляет встроенными мини-диаграммами (спарклайнами) внутри ячеек. Метод AddSparklineGroup создает группу, ссылающуюся на диапазон данных |
| ThreadedComments / AddThreadedComment / AddThreadedReply | Поддерживает современные древовидные цепочки комментариев (ответы). Метод AddThreadedComment создает цепочку комментариев верхнего уровня, а метод AddThreadedReply добавляет ответ |
| AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChart | Быстрые методы для работы с диаграммами Excel. Метод AddChartFromRange создает встроенную диаграмму непосредственно из данных ячеек |
| GetSheetProtectOption / SetSheetProtectOption | Получает или устанавливает программно конкретные флаги разрешений защиты листа |
| PasteFromClipboard | Вставляет содержимое из буфера обмена непосредственно начиная с указанных координат |
| AlignWithMargins | Определяет, выравниваются ли поля страницы по содержимому листа |
| CodeName | Задает программное имя листа (VBA CodeName) |
| ConsolidateXml | Предоставляет необработанные консолидированные данные XML |
| DifferentFirst | Включает отдельные колонтитулы для первой страницы |
| DifferentOddEven | Включает отдельные колонтитулы для четных и нечетных страниц |
| EvenFooterText / EvenHeaderText | Текстовые строки колонтитулов для четных страниц |
| FirstFooterText / FirstHeaderText | Текстовые строки колонтитулов для первой страницы |
| FirstPageNumber | Номер первой страницы при печати |
| GridColor | Цвет линий сетки листа |
| HorizontalDpi / VerticalDpi | Разрешение печати (DPI) для горизонтальной и вертикальной осей |
| OutlineLevelCol / OutlineLevelRow | Уровень структуры по умолчанию для столбцов и строк |
| PaneState | Состояние прокрутки закрепленной области |
| PhoneticAlignment / PhoneticFontId / PhoneticType | Выравнивание фонетического текста руби (CJK), индекс его шрифта и фонетический тип |
| PrintErrors | Cell error printing behavior |
| ScaleWithDoc | Масштабирует колонтитулы вместе с масштабом документа |
| Scenarios | XML-содержимое сценариев «что-если»
CurrentIndex, ShownIndex, and
SqRef раскрывают состояние диспетчера сценариев на уровне листа |
| ScenariosXml | Устаревший запасной вариант на сыром внутреннем XML, используемый, только когда
типизированный Scenarios Криптографические свойства современных хэшей паролей защиты листа |
| SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCount | Отображает формулы вместо значений |
| ShowFormulas | Отображает символы групп структуры |
| ShowOutlineSymbols | Типизированные критерии сортировки и точное XML-содержимое параметров сортировки |
| SortState / SortStateXml | Положение итоговых строк и столбцов структуры |
| SummaryBelow / SummaryRight | Использует явное начало нумерации страниц |
| UseFirstPageNumber | Использует настройки принтера по умолчанию (DEVMODE) |
| UsePrinterDefaults | Скрывает новые вставляемые строки по умолчанию |
| ZeroHeight | Значения масштаба для обычного режима, разметки страницы и режима просмотра разрывов страниц |
| ZoomNormal / ZoomPageLayout / ZoomSheetLayout | Добавляет фигурный текст WordArt на лист |
| AddWordArt | Оптимизирует хранилище ячеек последовательно для построчного обхода |
| BuildRowMajorCellOrder | Очищает все необработанные несопоставленные XML-якоря графических фигур |
| ClearRawDrawingAnchors | Создает экземпляр механизма вычисления условного форматирования |
| CreateConditionalFormatEvaluator | Управляет необработанными несопоставленными XML-якорями графических фигур |
| RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchor | Экспортирует лист в файл или поток PDF
AddRawDrawingAnchor дописывает полный
<xdr:...Anchor> блок, сохранённый дословно для
обратного цикла, и возвращает новый TXLSXDrawingObject |
| BringToFront / SendToBack / BringForward / SendBackward | Изменяет порядок объекта рисования в z-порядке листа:
BringToFront поднимает его над всеми остальными рисунками,
SendToBack опускает под все, а варианты
Forward / Backward сдвигают его на одну
позицию |
| SaveAsPDF | Экспортирует лист в PDF-файл или поток |
| TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevel | Запрашивает или идемпотентно меняет учитывающие направление итоговые узлы строк и столбцов через общую разреженную модель структуры; см. Sparse outline geometry |
| ToggleColGrouped / ToggleRowGrouped | Переключает состояние свертывания группировки столбцов или строк |
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;