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 مستطيلاً مفروزاً حسب التغيرات في عمود مطلق بورقة العمل، ويقبل أرقام دوال SUBTOTAL في Excel من 1 إلى 11 أو من 101 إلى 111، ويدرج صفوف الصيغ والتخطيط، ويعيد عدد الصفوف المدرجة. ويربط SubtotalDefaultEnglishString رقم دالة SUBTOTAL إلى اسمه الإنجليزي (مثل 1 إلى Average و 9 إلى Total). ويعيد CheckDataValidation القيمة -1 لمرشح صالح أو رقم أول قاعدة فاشلة (القائمة على 1)، ولا يثبت إلا عندما تكون SetIfValid صحيحة وتنجم جميع القواعد المنطبقة |
| ForEachCell / ForEachFormattedCell / ForEachRow / FindText / ReplaceText / WriteCells / WriteRows | أدوات مساعدة لمسح الخلايا والصفوف المحمَّلة والبحث النصي واستبدال النص وتعبئة النطاقات. يمشي ForEachCell على الخلايا الموجودة بترتيب الصفوف مع القيمة ونص الصيغة. ويمشي ForEachFormattedCell على الخلايا المملوءة بترتيب الصف/العمود مقدّماً نص العرض لكل خلية بعد تطبيق تنسيق الأرقام، ويعيد عدد العناصر المزارة مع احترام إلغاء معاودة الاتصال. يمشي ForEachRow على الصفوف الموجودة بترتيبها ويبلّغ عن أول وآخر أعمدة محمَّلة في كل صف. يمسح FindText و ReplaceText خلايا النص المحمَّلة بترتيب الصفوف، ويتخطى الصيغ والقيم غير النصية، ويدعم المطابقة الحساسة لحالة الأحرف؛ وتضيف الحِمل الزائد للخيارات دلالات مربع حوار Find في Excel (البدائل، مطابقة الخلية الكاملة، حساسية الأحرف، البحث في نص الصيغة، المسح العكسي، المسح بالأعمدة)، ويحصر 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) للصف أو العمود المطابق. يُصدر SaveAs outlineLevel="N" على إدخال الصف / العمود |
| RowHidden / ColHidden | قيمة منطقية — تُخرج الصف أو العمود من العرض (hidden="1") |
| RowCollapsed / ColCollapsed | قيمة منطقية — تعلّم صفاً / عموداً انطُوِي أصلُه المجمّع (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>
المقابلة عند SaveAs. استخدم الثوابت المسماة xlsxPaper* مثل xlsxPaperLetterو xlsxPaperA4و
xlsxPaperA3و xlsxPaperLegal بدلاً من أكواد أحجام ورق Excel الخام متى أمكن |
| Visibility | رؤية الورقة: xlsxSheetVisible
(الافتراضي) أو xlsxSheetHidden (مخفية لكن قابلة للإظهار من واجهة Excel) أو xlsxSheetVeryHidden (يتطلب VBA أو كوداً لإظهارها). يُصدر SaveAs خاصية state على عنصر
<sheet> في xl/workbook.xmlVisible اسم بديل منطقي مريح لعمليات الإظهار/الإخفاء الشائعة |
| SetIsSelected / IsSelected | عندما تكون True، يبدو تبويب الورقة محدداً (مميزاً). يمكن تحديد أوراق متعددة في آن واحد. يُصدر SaveAs 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. يكتب SaveAs <rowBreaks> /
<colBreaks> في XML الورقة |
| HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreak | استعلام أو تحديد موقع فاصل يدوي واحد عبر فهرس "قبل" الخاص به |
| RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRange | يزيل فاصلاً يدوياً واحداً أو جميع الفواصل في مجال صفوف / أعمدة شامل؛ وتقبل أدوات النطاق الإحداثيات المعكوسة وتعيد عدد الفواصل المزالة |
| ClearRowBreaks / ClearColBreaks / ClearAllPageBreaks | يزيل جميع فواصل الصفوف أو جميع فواصل الأعمدة أو كليهما |
| RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i] | تكرار على فهارس الفواصل المخزنة (قيم "قبل" القائمة على 1) |
| KeepRowLinkLevel / KeepColLinkLevel | يعيد أقوى مستوى إبقاء معاً يربط الصف (أو العمود) بعد الفهرس المعطى بالكتلة الأعلى (أو الأيسر)، أو 0 عندما لا يكون الموقع داخل كتلة إبقاء معاً |
| PrintGridlines / PrintHeadings | عندما تكون True، يُصدر SaveAs
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 على صفوف البيانات في AutoFilterRangeويبلّغ عن حالة رؤية كل صف عبر معاودة اتصال ويعيد عدد الصفوف المرئية المزارة دون تغيير أعلام إخفاء الصفوف. ويطبق ApplyAutoFilter معايير التصفية ويخفي الصفوف غير المطابقة ويعيد إن نجحت |
| Protect / UnProtect / IsProtected | مفتاح حماية على مستوى الورقة مع تجزئة كلمة مرور قديمة اختيارية بعرض 16 بت. يُعكس كـ
<sheetProtection> |
| AllowOption / SheetProtectionOptions | 15 خيار إذن حماية دقيق (مثل تنسيق الخلايا، إدراج صفوف/أعمدة، الفرز، التصفية التلقائية، تحديد الخلايا المقفلة/غير المقفلة، إلخ)، تقابل قائمة أذونات "Protect Sheet" في 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، يكتب SaveAs الورقة إلى
xl/chartsheets/sheetN.xml بدلاً من
xl/worksheets/sheetN.xml ويستضيف
Charts[0] بصفحة كاملة. استخدم الأداة المساعدة
Workbook.AddChartSheet(...) للإعداد النمطي |
| View | وضع عرض ورقة العمل. القيم هي
xlsxNormalViewو xlsxPageBreakPreviewو
xlsxPageLayoutView. يكتب SaveAs خاصية
view المقابلة على <sheetView>؛ ويعيد Open قراءتها |
| 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 | ينسخ قيمة مرساة كل نطاق مدمج إلى كل خلية عضو مغطاة، فتُقرأ أوراق التقارير بعدها كشبكة مسطحة واحدة. تُتخطى المراسي الفارغة أو null فتحتفظ الدمجات المعبأة مسبقاً بمحتواها، ويعيد عدد الخلايا المعبأة |
| FormControls | مجموعة عناصر تحكم النماذج في ورقة العمل (الأزرار ومربعات الاختيار وأزرار الاختيار ومربعات التحرير والسرد ومربعات القائمة) التي تنشئها عائلة الأدوات المساعدة
AddFormButton / AddFormCheckBox /
AddFormRadioButton / AddFormComboBox /
AddFormListBox . يكشف كل إدخال مستطيل التثبيت والخلية المرتبطة ونوع عنصر التحكم |
| AddHyperlink overloads | يضيف ارتباطاً تشعبياً خارجياً بعنوان URL إلى خلية واحدة. و
Display و Tooltip اختيارية. مكافئ لـ Hyperlinks.Add(...) |
| AddComment overloads | يضيف تعليقاً إلى خلية واحدة. و Author
اختياري. مكافئ لـ Comments.Add(...) |
| ColWidth[Col] | عرض العمود بوحدات Excel (المقياس نفسه المستخدم في مربع حوار عرض الأعمدة في Excel). قراءة عمود غير مضبوط تعيد
0؛ وإسناد قيمة يضبط العرض لذلك العمود القائم على 1. يُصدر SaveAs إدخال <col> واحداً لكل عمود مخصص؛ ويعيد Open تشغيل كتلة <cols> إلى الخريطة |
| RowHeight[Row] | ارتفاع الصف بالنقاط (المقياس نفسه المستخدم في مربع حوار ارتفاع الصفوف في Excel). قراءة صف غير مضبوط تعيد 0؛ وإسناد قيمة يضبط الارتفاع لذلك الصف القائم على 1. يكتب SaveAs الخاصيتين ht و customHeight="1" على كل <row> ذات ارتفاع مخصص، حتى الصفوف التي تحمل ارتفاعاً فقط دون بيانات خلايا |
| SetColWidth / SetRowHeight | أوامر ضبط مباشرة تستخدمها الخصائص المفهرسة أعلاه. وفرت كأساليب مسماة للمستدعين الذين يفضلون عدم استخدام صيغة الخصائص |
| HasColWidth / HasRowHeight | يعيد True عندما تكون للورقة عرض أو ارتفاع مخصص للفهرس المعطى. استخدمه للتمييز بين "غير مضبوط" وقيمة 0 مقصودة |
| 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 | إدارة مخططات sparkline المصغرة داخل الخلايا. ينشئ AddSparklineGroup مجموعة تشير إلى نطاق بيانات |
| ThreadedComments / AddThreadedComment / AddThreadedReply | يدعم محادثات التعليقات المترابطة الحديثة (الردود). ينشئ AddThreadedComment محادثة تعليق مترابط عالية المستوى، ويلحق AddThreadedReply رداً |
| AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChart | اختصارات المخططات في Excel. ينشئ AddChartFromRange مخططاً مثبتاً مباشرة من بيانات الخلايا |
| GetSheetProtectOption / SetSheetProtectOption | جلب أو ضبط أعلام أذونات حماية ورقة محددة برمجياً |
| PasteFromClipboard | يلصق محتوى الحافظة مباشرة بدءاً من الإحداثيات المحددة |
| AlignWithMargins | يحدد ما إذا كانت هوامش الصفحة تتواءم مع محتويات ورقة العمل |
| CodeName | يحدد اسم كود ورقة VBA |
| ConsolidateXml | يكشف بيانات XML المدمجة الخام |
| DifferentFirst | يمكّن رأس/تذييل صفحة أولى منفصلاً |
| DifferentOddEven | يمكّن رؤوس/تذييلات صفحات فردية/زوجية منفصلة |
| EvenFooterText / EvenHeaderText | سلاسل النص لرؤوس وتذييلات الصفحات الزوجية |
| FirstFooterText / FirstHeaderText | سلاسل النص لرؤوس وتذييلات الصفحة الأولى |
| FirstPageNumber | رقم الطباعة للصفحة الأولى |
| GridColor | لون خط شبكة الورقة |
| HorizontalDpi / VerticalDpi | دقات طباعة DPI للمحورين الأفقي والرأسي |
| OutlineLevelCol / OutlineLevelRow | مستوى التخطيط الافتراضي للأعمدة والصفوف |
| PaneState | حالة تمرير الأجزاء المجمّدة |
| PhoneticAlignment / PhoneticFontId / PhoneticType | محاذاة النص الفونيتيكي CJK (روبي) وفهرس الخط والنوع الفونيتيكي |
| PrintErrors | سلوك طبقة أخطاء الخلايا |
| ScaleWithDoc | يقيس الرؤوس/التذييلات مع مقياس المستند |
| Scenarios | مجموعة مكتوبة الأنواع لإدارة السيناريوهات What-If. يملك كل سيناريو من خلية إلى 32 خلية إدخال ويدعم اسمه وحالتي القفل والإخفاء وبيانات المستخدم والتعليق الوصفية والقيم المخزنة وتنسيقات الأرقام وأعلام الحذف أو التراجع. وتكشف
CurrentIndexو ShownIndexو
SqRef حالة إدارة السيناريوهات على مستوى ورقة العمل |
| ScenariosXml | خامل XML الداخلي الخام القديم، لا يستخدم إلا عندما تكون مجموعة Scenarios المكتوبة الأنواع فارغة |
| SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCount | الخصائص التشفيرية لتجزئات كلمات مرور حماية الورقة الحديثة |
| ShowFormulas | يعرض الصيغ بدلاً من القيم |
| ShowOutlineSymbols | يعرض رموز مجموعات التخطيط |
| SortState / SortStateXml | معايير فرز مكتوبة الأنواع ومحتويات XML للفرز الحرفية |
| SummaryBelow / SummaryRight | يحددان موضع صف وعمود ملخص التخطيط |
| UseFirstPageNumber | يستخدم بداية ترقيم صفحات صريحة |
| UsePrinterDefaults | يستخدم إعدادات DEVMODE الافتراضية للطابعة |
| ZeroHeight | يخفي الصفوف المدرجة حديثاً افتراضياً |
| ZoomNormal / ZoomPageLayout / ZoomSheetLayout | قيم مستويات التكبير لعرضَي عادي وتخطيط الصفحة ومعاينة فواصل الصفحات |
| AddWordArt | يضيف شكلاً نصياً من نوع WordArt إلى ورقة العمل |
| BuildRowMajorCellOrder | يحسّن تخزين الخلايا تسلسلياً للتكرار بالصفوف أولاً |
| ClearRawDrawingAnchors | يمسح جميع مراسي أشكال الرسم الخام غير المعينة |
| CreateConditionalFormatEvaluator | ينسخ محرك أداة مساعدة لتقييم التنسيق الشرطي |
| RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchor | يدير مراسي أشكال الرسم الخام غير المعينة. يلحق
AddRawDrawingAnchor كتلة
<xdr:...Anchor> كاملة محفوظة حرفياً للرجوع ويعيد TXLSXDrawingObject |
| BringToFront / SendToBack / BringForward / SendBackward | يعيد ترتيب كائن رسم في ترتيب z للورقة: ينقل
BringToFront الكائن فوق جميع الرسومات الأخرى، و
SendToBack تحتها جميعها، وتحرك نسختا
Forward / Backward موضعاً واحداً |
| SaveAsPDF | يصدّر ورقة العمل إلى ملف أو دفق PDF |
| TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevel | استعلام أو تغيير حتمي (idempotent) لعقد ملخص الصفوف والأعمدة الواعي بالاتجاه عبر نموذج التخطيط المتناثر المشترك؛ انظر هندسة التخطيط المتناثر |
| 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;