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 | Nom de l'onglet de feuille tel qu'affiché par Excel |
| SetWorkbook / Workbook | Définit et expose la référence arrière du classeur utilisée par les assistants de cellules et partagés au niveau du classeur, comme les formats de nombre partagés, les remplissages, les bordures et les recherches de chaînes partagées |
| Cells | Collection de cellules. Utilisez Cells.Item[Row, Col].Value
Voir TXLSXCells / TXLSXCell |
| Calculate | Compile et évalue une chaîne de formule Excel dans le contexte de cette feuille. Un signe = est accepté, et les références locales à la feuille, les cellules de formules référencées, les références inter-feuilles, les plages de noms définis, ainsi que les fonctions de texte, date, jour ouvré, ingénierie/conversion de base, bits, statistiques, agrégation et mathématiques prises en charge sont résolues par l'évaluateur de formules partagées du classeur |
| GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / CheckDataValidation | GetCellVisibleFormat résout le style effectif à une coordonnée sans créer de cellule vide. Subtotal groupe un rectangle trié par changements d'une colonne absolue de la feuille, accepte les numéros de fonctions Excel SUBTOTAL de 1 à 11 ou de 101 à 111, insère les lignes de formule et de plan, et renvoie le nombre de lignes insérées. SubtotalDefaultEnglishString mappe un numéro de fonction SUBTOTAL vers son nom anglais (par exemple 1 vers Average et 9 vers Total). CheckDataValidation renvoie -1 pour un candidat valide ou la première règle en échec en base un, et ne valide que si SetIfValid est true et que toutes les règles applicables passent |
| ForEachCell / ForEachFormattedCell / ForEachRow / FindText / ReplaceText / WriteCells / WriteRows | Fonctions d'aide pour le scan des cellules et lignes chargées, la recherche de texte, le remplacement de texte et le remplissage de plages. ForEachCell parcourt les cellules existantes dans l'ordre des lignes avec valeur et texte de formule. ForEachFormattedCell parcourt les cellules renseignées dans l'ordre lignes/colonnes en délivrant le texte d'affichage de chaque cellule avec le format numérique appliqué, et renvoie le nombre de cellules visitées tout en respectant l'annulation du callback. ForEachRow parcourt les lignes existantes dans l'ordre et signale pour chaque ligne ses première et dernière colonnes chargées. FindText et ReplaceText scannent les cellules texte chargées dans l'ordre des lignes, ignorent formules et valeurs non textuelles, et peuvent respecter la casse ; les surcharges d'options ajoutent la sémantique de la boîte de dialogue Recherche d'Excel (jokers, correspondance de cellule entière, sensibilité à la casse, recherche dans le texte de formule, scan arrière, scan colonne par colonne) et FindTextIn / ReplaceTextIn confinent le scan à une fenêtre rectangulaire avec un callback de remplacement facultatif par correspondance. WriteCells demande les valeurs d'une plage numérique ou de style A1 et prend en charge le saut et l'annulation par cellule. WriteRows demande un tableau de Variant pour chaque ligne et prend en charge le saut et l'annulation de lignes entières |
| MergedCells | Collection de plages fusionnées. Voir TXLSXMergedCells |
| Hyperlinks | Collection d'hyperliens. Voir TXLSXHyperlinks |
| Comments | Collection de commentaires de cellules. Voir TXLSXComments |
| Tables / AddTable | Bandes de tables à la mode Excel sur la feuille de calcul. Voir TXLSXTable / TXLSXTables |
| Charts / AddChart | Collection de graphiques ancrés. Voir
TXLSXChart / TXLSXCharts
L'enum de types de graphique prend en charge les graphiques en colonnes, barres, courbes, secteurs, aires, anneau, nuage de points, bulles et radar. Pour un graphique pleine page, utilisez
Workbook.AddChartSheet(...) |
| AddTextBox / TextBoxCount / TextBox / FindTextBoxAt | Crée, énumère, localise, supprime et efface les zones de texte de dessin autonomes ancrées aux rectangles de cellules
IndexOfTextBoxAt et FindTextBoxAt localisent
la première zone de texte contenant une cellule, tandis que
DeleteTextBoxAt, DeleteTextBoxesInRange,
DeleteTextBox et ClearTextBoxes suppriment
des zones de texte individuelles ou groupées sans toucher aux commentaires de cellules |
| AddHyperlinkToCell overloads | Hyperlien d'ancre interne — saute vers un emplacement
Sheet!Cell ailleurs dans le classeur. Aucune
relation rels n'est générée. Voir
TXLSXHyperlink.Location |
| RowOutlineLevel / ColOutlineLevel | Niveau d'imbrication de groupe (0..7) pour la ligne
ou colonne correspondante. SaveAs émet outlineLevel="N" sur l'entrée row /
col |
| RowHidden / ColHidden | Boolean — sort la ligne ou la colonne de la vue
(hidden="1") |
| RowCollapsed / ColCollapsed | Boolean — marque une ligne / colonne dont le parent de
groupe est replié (collapsed="1") |
| FreezePanes(Row, Col) / UnfreezePane | Pose un split figé — les Row
lignes du haut et les Col colonnes de gauche restent visibles pendant que le
reste défile. FreezeCol et
FreezeRow sont des propriétés en lecture seule exposant le
current split |
| SetPageMargins / Page setup properties | Les six marges plus PageLandscape,
PaperSize, PageScale,
FitToWidth, FitToHeight,
HeaderText, FooterText,
LeftHeader, CenterHeader,
RightHeader, LeftFooter,
CenterFooter, RightFooter,
CenterHorizontally et CenterVertically. Modifier l'une d'elles
déclenche l'écriture des blocs <pageMargins>,
<pageSetup> et <headerFooter>
correspondants au SaveAs. Utilisez si possible les constantes nommées xlsxPaper*
telles que xlsxPaperLetter, xlsxPaperA4,
xlsxPaperA3 et xlsxPaperLegal plutôt que
les codes bruts de format papier d'Excel |
| Visibility | Visibilité de la feuille : xlsxSheetVisible
(défaut), xlsxSheetHidden (masquée mais affichable depuis l'interface
d'Excel), ou xlsxSheetVeryHidden (nécessite du VBA ou
du code pour être réaffichée). SaveAs émet un attribut state sur le
<sheet> de xl/workbook.xmlVisible est un alias pratique Boolean pour les opérations courantes
d'affichage ou de masquage |
| SetIsSelected / IsSelected | Quand True, l'onglet de la feuille apparaît sélectionné (surligné). Plusieurs feuilles peuvent être sélectionnées simultanément. SaveAs émet tabSelected="1" sur le
<sheetView> correspondant |
| AutoFitColumn / AutoFitColumns | AutoFitColumn(Col, MinWidth, MaxWidth) mesure chaque
cellule de la colonne et règle ColWidth[Col] au contenu le plus large (ASCII = 1 car, CJK = 2 car, échelle Calibri 11pt), puis applique des limites de largeur minimale et maximale facultatives
AutoFitColumns(Min, Max, MinWidth, MaxWidth) parcourt la plage de colonnes,
en s'arrêtant à la dernière colonne portant des cellules |
| AutoFitRow / AutoFitRows | AutoFitRow(Row, MinHeight, MaxHeight) règle
RowHeight[Row] au contenu de cellule le plus haut de cette ligne (en points), puis applique des limites de hauteur minimale et maximale facultatives
AutoFitRows(Min, Max, MinHeight, MaxHeight) parcourt la plage de
lignes, en s'arrêtant à la dernière ligne portant des cellules |
| InsertRows / DeleteRows | InsertRows(BeforeRow, Count) décale vers le bas de
Count toutes les lignes à partir de
BeforeRow. DeleteRows(StartRow, Count) supprime
les lignes [StartRow, StartRow+Count-1] et remonte le reste. Les deux se propagent en cascade à travers les cellules, plages fusionnées, hauteurs de lignes, niveaux de plan, indicateurs masqués, liens hypertexte, commentaires, volets figés, références de filtre automatique / mise en forme conditionnelle / validation de données, tableaux, formules de cellules, formules de mise en forme conditionnelle / validation de données, cibles internes de liens hypertexte, références de mise en page, sauts de page manuels, critères de colonnes du filtre automatique, plages de séries de graphiques, et noms définis qui pointent vers la feuille modifiée, ancres d'images et ancres de graphiques |
| InsertCols / DeleteCols | Comme InsertRows / DeleteRows, mais opérant sur les colonnes. Les largeurs de colonnes, les niveaux de plan et les indicateurs masqués sont également mis à jour |
| AddRowBreak / AddColBreak | AddRowBreak(N) insère un saut de page manuel
avant la ligne N (la ligne N démarre donc une
nouvelle page imprimée). AddColBreak(N) coupe avant la colonne
N. SaveAs écrit <rowBreaks> /
<colBreaks> dans le XML de la feuille |
| HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreak | Interroge ou localise un saut manuel unique par son index « before » |
| RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRange | Supprime un saut manuel ou tous les sauts d'un intervalle inclusif de lignes / colonnes ; les assistants de plage acceptent des coordonnées inversées et renvoient le nombre de sauts supprimés |
| ClearRowBreaks / ClearColBreaks / ClearAllPageBreaks | Supprime tous les sauts de lignes, tous les sauts de colonnes, ou les deux |
| RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i] | Parcourt les indices de sauts stockés (valeurs « Before » en base 1) |
| KeepRowLinkLevel / KeepColLinkLevel | Renvoie le niveau « keep-together » le plus fort qui relie la ligne (ou colonne) suivant l'index donné au bloc au-dessus (ou à gauche), ou 0 quand la position n'est pas dans un bloc « keep-together » |
| PrintGridlines / PrintHeadings | Avec True, SaveAs émet
printGridLines="1" /
printRowColHeadings="1" dans
<printOptions>, pour que le quadrillage ou les en-têtes
de lignes/colonnes apparaissent à l'impression |
| BlackAndWhite / Draft / PrintNotes / PrintOverThenDown | Options d'impression dans <pageSetup> :
BlackAndWhite imprime en noir et blanc ;
Draft supprime les graphismes pour un aperçu plus rapide ;
PrintNotes imprime les commentaires de cellules tels qu'affichés ;
PrintOverThenDown passe l'ordre des pages à
gauche-à-droite d'abord au lieu de haut-en-bas d'abord |
| PrintArea | La zone rectangulaire qu'Excel imprime, par exemple
"$A$1:$D$10"). Écrite comme
<definedName name="_xlnm.Print_Area"> au niveau du classeur, limitée à
cette feuille. Chaîne vide = non défini |
| PrintTitleRows / PrintTitleCols | Plages de lignes ou de colonnes répétées sur chaque page
imprimée (p. ex. "$1:$3" ou "$A:$B"). Écrites dans
<definedName name="_xlnm.Print_Titles"> |
| SetAutoFilter / AutoFilterRange | Définit la plage de filtre (p. ex.
"A1:C100") ; SaveAs écrit
<autoFilter ref="..."/> |
| AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumns | Critères de filtrage par colonne attachés à la plage du filtre automatique
AddAutoFilterColumn(ColId, Op, Criteria) ajoute un
filtre à un seul critère ; la surcharge à deux critères ajoute une paire AND/OR
AutoFilterColumns.FindByColId(ColId) renvoie un objet de critères existant,
AutoFilterColumns.DeleteByColId(ColId) en supprime un sans parcourir
Items à la main, et
AutoFilterColumns.ClearCriteria efface tous les critères de colonnes
en préservant la plage de filtre
ColId est le décalage basé sur 0 à l'intérieur de la plage de filtre automatique (pas la colonne de la feuille). SaveAs écrit des enfants <filterColumn> dans <autoFilter> |
| AutoFilterRowVisible / PreviewAutoFilterRows / ApplyAutoFilter | AutoFilterRowVisible(Row) évalue les critères XLSX d'AutoFilter stockés pour une ligne de données. PreviewAutoFilterRows parcourt les lignes de données de AutoFilterRange, signale l'état visible de chaque ligne via un callback, renvoie le nombre de lignes visibles visitées et ne modifie pas les indicateurs de masquage des lignes ApplyAutoFilter applique les critères du filtre automatique, masque les lignes qui ne correspondent pas et indique si l'opération a réussi |
| Protect / UnProtect / IsProtected | Bascule de protection au niveau de la feuille avec un hachage de mot de passe 16 bits hérité facultatif. Reflété comme
<sheetProtection> |
| AllowOption / SheetProtectionOptions | 15 options de permissions de protection à granularité fine (mise en forme des cellules, insertion de lignes/colonnes, tri, filtrage automatique, sélection de cellules verrouillées/déverrouillées, etc.), correspondant à la liste de permissions "Protéger la feuille" d'Excel |
| PageSetupTouched / SheetProtectHash | Utilisez PageSetupTouched pour savoir si les
valeurs de mise en page ont été explicitement modifiées, et
SheetProtectHash pour lire/écrire le texte de hash de protection de feuille
16 bits hérité utilisé par les formats de fichier XLS hérités |
| AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormat | Méthodes de création, copie et formatage de tableaux croisés dynamiques. AddPivotTable construit un tableau croisé dynamique à partir d'une plage source A1 telle que 'Data!A1:C9' et l'ancre à la cellule en base 1 DestRow, DestCol ; il renvoie nil pour une source mal formée ou une ancre hors de la feuille. AddPivotTableCopy copie en profondeur un tableau croisé dynamique existant, de ce classeur ou d'un autre, vers une nouvelle ancre en base 1 sur cette feuille de calcul (un NewName vide donne '<source> (2)'). PivotSetDataFieldFormat enregistre un format numérique pour un champ de données et renvoie son index de format numérique |
| PivotTables | Collection des tableaux croisés dynamiques définis sur cette feuille de calcul |
| MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCM | Marges de mise en page exprimées en centimètres |
| TabColor / TabColorIsAuto | Couleur ARGB de l'onglet de la feuille dans Excel ;
l'affectation de TabColor met TabColorIsAuto à False
TabColorIsAuto = True (défaut) supprime l'enfant
<tabColor> de <sheetPr> |
| IsChartSheet | Avec True, SaveAs écrit la feuille dans
xl/chartsheets/sheetN.xml au lieu de
xl/worksheets/sheetN.xml et y héberge
Charts[0] pleine page. Utilisez le
helper Workbook.AddChartSheet(...) pour la configuration
courante |
| View | Mode de vue de la feuille. Valeurs :
xlsxNormalView, xlsxPageBreakPreview et
xlsxPageLayoutView. SaveAs écrit l'attribut
view correspondant sur <sheetView> ; Open
le relit |
| Zoom | Pourcentage de zoom de la vue de la feuille (10–400 ; 100 par défaut,
borné à l'affectation). Émet zoomScale="N" dans
<sheetView> ; la valeur par défaut est omise pour que les feuilles
non touchées restent propres |
| DisplayGridLines | Avec False, masque le quadrillage des cellules
dans la vue de la feuille. True par défaut. Émet
showGridLines="0" quand False |
| DisplayZeros | Avec False, les cellules à valeur zéro
s'affichent vides au lieu de « 0 ». True par défaut. Émet
showZeros="0" quand False |
| DisplayRightToLeft | When True, la feuille est affichée en disposition de droite à gauche (colonne A à droite), adaptée au texte arabe ou hébreu. Émet rightToLeft="1" |
| StandardWidth | Largeur de colonne par défaut en unités de caractères Excel (p. ex. 8.43 = valeur intégrée par défaut). Définir une valeur > 0 émet
<sheetFormatPr defaultColWidth="..."/>0 = non défini (élément omis) |
| StandardHeight | Hauteur de ligne par défaut en points (p. ex. 15 = valeur intégrée par défaut). Définir une valeur > 0 émet
defaultRowHeight="..." on
<sheetFormatPr>0 = non défini |
| ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRange | Opérations sur plages de cellules. CopyRange et CopyRangeTo dupliquent valeurs, formules, index de style et charges utiles de texte enrichi ; CopyFrom duplique tout le contenu et les réglages de la feuille (cellules fusionnées, mise en page, état de vue, filtres automatiques, etc.) ; ces trois méthodes ne copient que le contenu des cellules, donc les commentaires restent en arrière, et CloneRangeTo ou Sheets.AddCopy emporte les commentaires avec leurs runs de texte enrichi ; MoveRange ignore le chevauchement avec la destination ; SortRange trie des lignes entières à l'intérieur d'un rectangle selon une ou plusieurs colonnes clés absolues ; ClearRange supprime les cellules ; ClearRangeValues efface valeurs et formules en préservant les index de style |
| Range / RCRange / UsedRange | Renvoie des
TXLSXRange
possédées par la feuille, qui encapsulent des références A1, des coordonnées numériques basées sur 1 ou l'ensemble des cellules remplies de la feuille TXLSXRange.SaveAsHTML(FileName)
et TXLSXRange.SaveAsHTML(Stream) exportent uniquement la plage sélectionnée comme tableau HTML UTF-8. Les wrappers de plage fournissent aussi des valeurs et formules par lot, index de style, formats de nombre, bordures, indicateurs de protection, ajustement automatique, fusion, décalage, redimensionnement, tri multi-clés, styles de cellules intégrés, copie/déplacement, et des assistants d'insertion/suppression de lignes ou colonnes entières |
| EntireRow / EntireColumn | Renvoie des plages de lignes ou de colonnes entières pour l'index spécifié, utilisables pour des opérations structurelles ou la propagation de style |
| MergeCells(R1, C1, R2, C2) | Ajoute un rectangle fusionné et renvoie le nouvel index d'entrée. Les coordonnées sont basées sur 1, inclusives aux deux extrémités. Équivalent à
MergedCells.Add(R1, C1, R2, C2). En style plage,
Range['A1:C3'].Merge(True) écrit une plage fusionnée par
ligne, à la manière de la commande « fusionner sur les colonnes » d'Excel |
| FillMergedCellValues | Copie la valeur d'ancrage de chaque plage fusionnée dans toutes les cellules membres couvertes, si bien que les feuilles de type rapport se lisent ensuite comme une grille plate. Les ancres vides ou nulles sont ignorées, les fusions pré-remplies conservent leur propre contenu, et le nombre de cellules remplies est renvoyé |
| FormControls | Collection des contrôles de formulaire de la feuille de calcul (boutons, cases à cocher, boutons radio, zones de liste déroulante, zones de liste) créés par la famille de fonctions d'aide
AddFormButton / AddFormCheckBox /
AddFormRadioButton / AddFormComboBox /
AddFormListBox . Chaque entrée expose le rectangle d'ancrage, la cellule liée et le type de contrôle |
| AddHyperlink overloads | Ajoute un hyperlien URL externe à une seule cellule
Display et Tooltip sont facultatifs. Équivalent
à Hyperlinks.Add(...) |
| AddComment overloads | Ajoute un commentaire à une seule cellule. Author
est facultatif. Équivalent à Comments.Add(...) |
| ColWidth[Col] | Largeur de colonne en unités Excel (même échelle que la boîte de dialogue Excel de largeur de colonne). Lire une colonne non définie renvoie
0 ; affecter une valeur règle la largeur de cette
colonne en base 1. SaveAs émet une entrée <col> par colonne personnalisée ;
Open rejoue le bloc <cols> dans la
map |
| RowHeight[Row] | Hauteur de ligne en points (même échelle que la boîte de dialogue Excel de hauteur de ligne). Lire une ligne non définie renvoie 0 ;
affecter une valeur règle la hauteur de cette ligne en base 1. SaveAs écrit
les attributs ht et customHeight="1" sur
chaque <row> à hauteur personnalisée, y compris les lignes qui
ne portent qu'une hauteur sans données de cellules |
| SetColWidth / SetRowHeight | Setters directs utilisés par les propriétés indexées ci-dessus. Fournis comme méthodes nommées pour les appelants qui préfèrent ne pas utiliser la syntaxe de propriété |
| HasColWidth / HasRowHeight | Renvoie True quand la feuille a une largeur ou hauteur personnalisée pour l'index donné. Utilisez cela pour distinguer un "non défini" d'un 0 |
| ClearColWidths / ClearRowHeights | Ramène toute largeur ou hauteur personnalisée à la valeur par défaut d'Excel |
| ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsed | Réinitialise chaque override masqué/réduit de ligne ou de colonne à l'état par défaut visible et développé |
| Images | Collection d'images. Utilisez AddImage /
AddImageFromFile comme points d'entrée pratiques. Voir
TXLSXImage / TXLSXImages |
| HeaderFooterImages | Emplacements typés d'images d'en-tête et de pied de page impaires, paires et de première page, avec des propriétés indépendantes de position, taille, marge, format, données et titre. Voir TXLSXHeaderFooterImage / TXLSXHeaderFooterImages |
| ConditionalFormats | Règles de mise en forme conditionnelle de cette feuille de calcul
Utilisez AddConditionalFormat comme point d'entrée pratique
Voir TXLSXConditionalFormat / TXLSXConditionalFormats |
| DataValidations | Règles de validation de données de cette feuille de calcul. Utilisez
AddDataValidation / AddListValidation comme
points d'entrée pratiques. Voir
TXLSXDataValidation / TXLSXDataValidations |
| IgnoredErrors | Métadonnées typées de suppression d'erreurs de la feuille de calcul
Chaque TXLSXIgnoredError combine un SqRef multi-zones séparé par des espaces
avec les indicateurs standard d'évaluation, de date, de nombre stocké, de formule, de formule non verrouillée, de référence vide,
de validation de données et de colonne calculée
Les entrées survivent aux copies de feuilles et aux allers-retours ouverture/enregistrement, et
leurs plages suivent les insertions et suppressions de lignes et de colonnes |
| AddImage / AddImageFromFile | Ajoute une image ancrée à une cellule. AddImage prend
les octets bruts plus un TXLSXImageFormat ; AddImageFromFile lit le fichier et déduit le format de son extension. Équivalent à Images.Add sur la collection |
| AddConditionalFormat overloads | Ajoute une règle de mise en forme conditionnelle cellIs
Équivalent à ConditionalFormats.Add(...) |
| AddCondFormatExpression / text / rank / average / duplicate / blank / error helpers | Ajoute des règles de mise en forme conditionnelle spécialisées pour les formules, la correspondance de texte, les rangs supérieurs/inférieurs, les valeurs au-dessus/en dessous de la moyenne, les valeurs dupliquées ou uniques, les vides, les non-vides, les erreurs et les non-erreurs. L'index renvoyé peut être utilisé avec ConditionalFormats[Index].Style pour attacher la mise en forme |
| AddWholeNumberValidation / AddWholeNumberValidation overloads / Whole whole-number validations | Ajoute des validations de nombres entiers complets, avec prise en charge par plage ou par critères |
| ProtectedRanges | Collection des plages de cellules protégées exigeant une authentification par mot de passe dans la feuille |
| RawWorksheetExts | Expose les données brutes de la liste d'extensions de feuille pour injection XML directe |
| SparklineGroups / AddSparklineGroup | Gère les mini-graphiques sparkline au sein des cellules. AddSparklineGroup crée un groupe référençant une plage de données |
| ThreadedComments / AddThreadedComment / AddThreadedReply | Prend en charge les conversations modernes de commentaires threadés (réponses). AddThreadedComment crée une conversation de commentaires threadés de premier niveau, et AddThreadedReply ajoute une réponse |
| AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChart | Raccourcis de création de graphiques Excel. AddChartFromRange crée un graphique ancré directement à partir des données de cellules |
| GetSheetProtectOption / SetSheetProtectOption | Lit ou définit par programme des indicateurs de permission spécifiques de protection de feuille |
| PasteFromClipboard | Colle le contenu du presse-papiers directement à partir des coordonnées spécifiées |
| AlignWithMargins | Indique si les marges de page s'alignent sur le contenu de la feuille |
| CodeName | Définit le nom de code VBA de la feuille |
| ConsolidateXml | Expose les données XML consolidées brutes |
| DifferentFirst | Active un en-tête/pied de première page distinct |
| DifferentOddEven | Active des en-têtes/pieds distincts pour les pages paires et impaires |
| EvenFooterText / EvenHeaderText | Chaînes de texte des en-têtes et pieds des pages paires |
| FirstFooterText / FirstHeaderText | Chaînes de texte des en-têtes et pieds de première page |
| FirstPageNumber | Numéro de la première page imprimée |
| GridColor | Couleur du quadrillage de la feuille |
| HorizontalDpi / VerticalDpi | Résolutions d'impression DPI des axes horizontal et vertical |
| OutlineLevelCol / OutlineLevelRow | Niveau de plan par défaut des colonnes et des lignes |
| PaneState | État de volet figé du défilement |
| PhoneticAlignment / PhoneticFontId / PhoneticType | Alignement du texte ruby phonétique CJK, index de police et type phonétique |
| PrintErrors | Comportement d'impression des erreurs de cellules |
| ScaleWithDoc | Met en-têtes/pieds à l'échelle du document |
| Scenarios | Collection typée du gestionnaire de scénarios What-If
Chaque scénario possède une à 32 cellules d'entrée et prend en charge son nom,
ses états verrouillé et masqué, les métadonnées utilisateur et commentaire, les valeurs stockées,
les formats numériques et les indicateurs supprimé ou annulé
CurrentIndex, ShownIndexet
SqRef exposent l'état du gestionnaire de scénarios au niveau de la feuille |
| ScenariosXml | Repli hérité en XML interne brut, utilisé uniquement quand la collection typée Scenarios est vide |
| SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCount | Propriétés cryptographiques des hash de mot de passe de protection de feuille modernes |
| ShowFormulas | Affiche les formules au lieu des valeurs |
| ShowOutlineSymbols | Affiche les symboles des groupes de plan |
| SortState / SortStateXml | Critères de tri typés et contenu XML de tri verbatim |
| SummaryBelow / SummaryRight | Position des lignes et colonnes de synthèse du plan |
| UseFirstPageNumber | Utilise un début explicite de numérotation des pages |
| UsePrinterDefaults | Utilise les réglages DEVMODE par défaut de l'imprimante |
| ZeroHeight | Masque par défaut les lignes nouvellement insérées |
| ZoomNormal / ZoomPageLayout / ZoomSheetLayout | Valeurs de zoom des vues normale, mise en page et saut de page |
| AddWordArt | Ajoute une forme de texte WordArt à la feuille de calcul |
| BuildRowMajorCellOrder | Optimise séquentiellement le stockage des cellules pour un parcours ligne par ligne |
| ClearRawDrawingAnchors | Efface toutes les ancres XML brutes de formes de dessin non mappées |
| CreateConditionalFormatEvaluator | Instancie un moteur utilitaire d'évaluation de mise en forme conditionnelle |
| RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchor | Gère les ancres XML brutes de formes de dessin non mappées
AddRawDrawingAnchor ajoute un bloc
<xdr:...Anchor> complet préservé verbatim pour le
round-trip et renvoie le nouveau TXLSXDrawingObject |
| BringToFront / SendToBack / BringForward / SendBackward | Réordonne un objet de dessin dans le z-order de la feuille :
BringToFront le place au-dessus de tous les autres dessins,
SendToBack en dessous de tous, et les variantes
Forward / Backward le décalent d'une
position |
| SaveAsPDF | Exporte la feuille de calcul vers un fichier ou un flux PDF |
| TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevel | Interroge ou modifie de façon idempotente les nœuds de synthèse de lignes et colonnes sensibles à la direction via le modèle de plan creux partagé ; voir Sparse outline geometry |
| ToggleColGrouped / ToggleRowGrouped | Bascule l'état replié des groupes de colonnes ou de lignes |
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;