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 | Kalkylbladsflikenamnet som visas i Excel |
| SetWorkbook / Workbook | Sätter och exponerar arbetsbokens bakåtreferens, som används av cell- och arbetsboksgemensamma hjälpfunktioner som delade talformat, fyllningar, ramar och uppslag i delade strängar |
| Cells | Cellsamling. Använd Cells.Item[Row, Col].Value
Se TXLSXCells / TXLSXCell |
| Calculate | Kompilerar och utvärderar en Excelformelsträng i detta kalkylblads kontext
Ett inledande = accepteras, och kalkylbladslokala referenser, refererade formelceller, referenser över kalkylblad, områden via definierade namn samt text-, datum-, arbetsdags-, teknik-/talkonverterings-, bitvisa, statistiska, aggregerande och matematiska funktioner som stöds löses upp av arbetsbokens gemensamma formelutvärderare |
| GetCellVisibleFormat / Subtotal / SubtotalDefaultEnglishString / CheckDataValidation | GetCellVisibleFormat löser den effektiva stilen på en koordinat utan att skapa en tom cell. Subtotal grupperar en sorterad rektangel efter förändringar i en absolut arbetsbladskolumn, accepterar Excels SUBTOTAL -funktionsnummer 1–11 eller 101–111, infogar formel- och dispositionsrader och returnerar antalet infogade rader. SubtotalDefaultEnglishString mappar ett SUBTOTAL -funktionsnummer till dess engelska namn (exempelvis 1 till Average och 9 till Total). CheckDataValidation returnerar -1 för en giltig kandidat eller den 1-baserade första regel som inte passerar och committar bara när SetIfValid är true och alla tillämpliga regler passerats |
| ForEachCell / ForEachFormattedCell / ForEachRow / FindText / ReplaceText / WriteCells / WriteRows | Hjälpfunktioner för skanning av inlästa celler och rader, textsökning, textersättning och områdesifyllning. ForEachCell går igenom befintliga celler i radordning med värde och formeltext. ForEachFormattedCell går igenom ifyllda celler i rad-/kolumnordning och levererar varje cells visningstext med talformatet applicerat, returnerar antalet besökta celler och respekterar callback-avbrott. ForEachRow går igenom befintliga rader i radordning och redovisar varje rads första och sista inlästa kolumner. FindText och ReplaceText skannar inlästa textceller i radordning, hoppar över formler och icke-textvärden och kan matcha skiftlägeskänsligt; optionsöverlagringar lägger till semantik från Excels sökdialog (jokertecken, helcellsmatchning, skiftläge, sökning i formeltext, bakåtsökning, kolumnvis skanning) och FindTextIn / ReplaceTextIn begränsar skanningen till ett rektangulärt fönster med valfri per-träff-ersättningscallback. WriteCells begär värden för ett numeriskt område eller A1-format och stödjer per-cell hoppa över och avbrott. WriteRows begär en Variant -array per rad och stödjer hoppa över och avbrott på hel rad |
| MergedCells | Samling av sammanslagna områden. Se TXLSXMergedCells |
| Hyperlinks | Samling av hyperlänkar. Se TXLSXHyperlinks |
| Comments | Samling av cellkommentarer. Se TXLSXComments |
| Tables / AddTable | Tabellband i Excel-stil i kalkylbladet. Se TXLSXTable / TXLSXTables |
| Charts / AddChart | Samling av förankrade diagram. Se
TXLSXChart / TXLSXCharts
Uppräkningen av diagramtyper stödjer kolumn-, stapel-, linje-, cirkel-, område-, ring-, punkt-, bubbel- och radardiagram För ett helsidigt diagram, använd
Workbook.AddChartSheet(...) |
| AddTextBox / TextBoxCount / TextBox / FindTextBoxAt | Skapar, räknar upp, lokaliserar, tar bort och rensar fristående ritade textrutor förankrade i cellrektanglar
IndexOfTextBoxAt och FindTextBoxAt hittar den första textrutan som innehåller en cell, medan
DeleteTextBoxAt, DeleteTextBoxesInRange,
DeleteTextBoxoch ClearTextBoxes tar bort enskilda eller grupperade textrutor utan att röra cellkommentarer |
| AddHyperlinkToCell overloads | Intern ankarhyperlänk — hoppar till en
Sheet!Cell -plats någon annanstans i arbetsboken. Ingen
rels-relation genereras. Se
TXLSXHyperlink.Location |
| RowOutlineLevel / ColOutlineLevel | Grupperingsnivå (0..7) för motsvarande rad eller kolumn. SaveAs skriver outlineLevel="N" på rad-/kolumnposten |
| RowHidden / ColHidden | Boolean — tar bort raden eller kolumnen från vyn (hidden="1") |
| RowCollapsed / ColCollapsed | Boolean — markerar en rad/kolumn vars grupperingsförälder är kollapsad (collapsed="1") |
| FreezePanes(Row, Col) / UnfreezePane | Sätter en fryst delning — de översta Row
raderna och vänstra Col kolumnerna förblir synliga medan resten rullas. FreezeCol och
FreezeRow är skrivskyddade egenskaper som exponerar den aktuella delningen |
| SetPageMargins / Page setup properties | Alla sex marginaler plus PageLandscape,
PaperSize, PageScale,
FitToWidth, FitToHeight,
HeaderText, FooterText,
LeftHeader, CenterHeader,
RightHeader, LeftFooter,
CenterFooter, RightFooter,
CenterHorizontallyoch CenterVertically. Att sätta någon av dem utlöser motsvarande <pageMargins>-,
<pageSetup>- och <headerFooter>
-block vid SaveAs. Använd de namngivna konstanterna xlsxPaper* , till exempel xlsxPaperLetter, xlsxPaperA4,
xlsxPaperA3och xlsxPaperLegal , i stället för råa Excel-pappersstorlekkoder när det är möjligt |
| Visibility | Kalkylbladets synlighet: xlsxSheetVisible
(standard), xlsxSheetHidden (dolt men kan göras synligt i Excels användargränssnitt) eller xlsxSheetVeryHidden (kräver VBA eller kod för att visas igen). SaveAs skriver ett state -attribut på elementet
<sheet> i xl/workbook.xmlVisible är en Boolean-bekvämlighet för vanliga visa-/dölj-åtgärder |
| SetIsSelected / IsSelected | När Truevisas fliken som markerad (framhävd). Flera kalkylblad kan vara markerade samtidigt. SaveAs skriver tabSelected="1" på motsvarande <sheetView> |
| AutoFitColumn / AutoFitColumns | AutoFitColumn(Col, MinWidth, MaxWidth) mäter varje cell i kolumnen och sätter ColWidth[Col] till det bredaste innehållet (ASCII = 1 tecken, CJK = 2 tecken, Calibri 11 pt-skala) och tillämpar därefter valfria nedre och övre breddgränser
AutoFitColumns(Min, Max, MinWidth, MaxWidth) itererar kolumnintervallet, avgränsat till den sista kolumn med celler |
| AutoFitRow / AutoFitRows | AutoFitRow(Row, MinHeight, MaxHeight) sätter
RowHeight[Row] till det högsta cellinnehållet i raden (i punkter) och tillämpar därefter valfria nedre och övre höjdgränser
AutoFitRows(Min, Max, MinHeight, MaxHeight) itererar radintervallet, avgränsat till den sista rad med celler |
| InsertRows / DeleteRows | InsertRows(BeforeRow, Count) flyttar varje rad på BeforeRow eller lägre nedåt med
Count. DeleteRows(StartRow, Count) tar bort raderna [StartRow, StartRow+Count-1] och drar upp resten. Båda kaskadar genom celler, sammanslagna områden, radhöjder, disposationsnivåer, doldflaggor, hyperlänkar, kommentarer, fryst panel, autofilter-/villkorsstyrd formatering-/datavalideringsreferenser, tabeller, cellformler, formler i villkorsstyrd formatering/datavalidering, interna hyperlänksmål, referenser i utskriftsinställningar, manuella sidbrytningar, autofilterkriterier per kolumn, diagramseriernas områden och definierade namn som pekar på det redigerade kalkylbladet, bildankare och diagramankare |
| InsertCols / DeleteCols | Samma som InsertRows / DeleteRows men opererar på kolumner. Kolumnbredder, disposationsnivåer och doldflaggor uppdateras också |
| AddRowBreak / AddColBreak | AddRowBreak(N) infogar en manuell sidbrytning före rad N (dvs. rad N börjar en ny utskriven sida). AddColBreak(N) bryter före kolumn
N. SaveAs skriver <rowBreaks> /
<colBreaks> i bladets XML |
| HasRowBreak / HasColBreak / IndexOfRowBreak / IndexOfColBreak | Frågar efter eller lokaliserar en enskild manuell brytning via dess "före"-index |
| RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRange | Tar bort en manuell brytning eller alla brytningar i ett inklusivt rad-/kolumnintervall; områdeshjälpfunktionerna accepterar omvända koordinater och returnerar antalet borttagna brytningar |
| ClearRowBreaks / ClearColBreaks / ClearAllPageBreaks | Tar bort alla radbrytningar, alla kolumnbrytningar eller båda |
| RowBreakCount / ColBreakCount / RowBreaks[i] / ColBreaks[i] | Itererar de lagrade brytningsindexen (1-baserade "före"-värden) |
| KeepRowLinkLevel / KeepColLinkLevel | Returnerar den starkaste keep-together-nivån som länkar raden (eller kolumnen) efter angivet index till blocket ovanför (eller till vänster), eller 0 när positionen inte ligger i ett keep-together-block |
| PrintGridlines / PrintHeadings | När Trueskriver SaveAs ut
printGridLines="1" /
printRowColHeadings="1" inuti
<printOptions> så att rutnätslinjer respektive
rad-/kolumnrubriker syns på den utskrivna sidan |
| BlackAndWhite / Draft / PrintNotes / PrintOverThenDown | Utskriftsalternativ i <pageSetup>:
BlackAndWhite renderar i svartvitt;
Draft undertrycker grafik för snabbare förhandsgranskning;
PrintNotes skriver ut cellkommentarer som de visas;
PrintOverThenDown växlar sidordningen till vågrätt-först i stället för lodrätt-först |
| PrintArea | Det rektangulära område som Excel skriver ut (t.ex.
"$A$1:$D$10"). Skrivs som ett arbetsboksomfattande
<definedName name="_xlnm.Print_Area"> med omfattning för detta blad. Tom sträng = inte satt |
| PrintTitleRows / PrintTitleCols | Rad- eller kolumnområden som upprepas på varje utskriven sida (t.ex. "$1:$3" eller "$A:$B"). Skrivs som
<definedName name="_xlnm.Print_Titles"> |
| SetAutoFilter / AutoFilterRange | Sätter filterområdet (t.ex.
"A1:C100"); SaveAs skriver
<autoFilter ref="..."/> |
| AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumns | Filterkriterier per kolumn knutna till autofilterområdet. AddAutoFilterColumn(ColId, Op, Criteria) lägger till ett filter med ett kriterium; överlagringen med två kriterier lägger till ett AND/OR-par
AutoFilterColumns.FindByColId(ColId) returnerar ett befintligt kriterieobjekt och AutoFilterColumns.DeleteByColId(ColId)
tar bort ett utan att söka igenom Items manuellt, och
AutoFilterColumns.ClearCriteria rensar alla kolumnekriterier medan filterområdet bevaras
ColId är 0-baserad offset inom autofilterområdet (inte bladets kolumn). SaveAs skriver <filterColumn>
-barn inuti <autoFilter> |
| AutoFilterRowVisible / PreviewAutoFilterRows / ApplyAutoFilter | AutoFilterRowVisible(Row) utvärderar de lagrade XLSX-autofilterkriterierna för en datarad. PreviewAutoFilterRows går igenom dataraderna i AutoFilterRange, rapporterar varje rads synlighet via en callback, returnerar antalet besökta synliga rader och ändrar inte doldflaggorna. ApplyAutoFilter tillämpar autofilterkriterierna, döljer rader som inte matchar och returnerar huruvida det lyckades |
| Protect / UnProtect / IsProtected | Växling av skydd på bladnivå med valfri 16-bitars äldre lösenordshash. Återspeglas som
<sheetProtection> |
| AllowOption / SheetProtectionOptions | 15 finkorniga skyddsbehörigheter (t.ex. formatera celler, infoga rader/kolumner, sortera, autofiltrera, markera låsta/olåsta celler osv.), motsvarande behörighetslistan i Excels "Skydda blad" |
| PageSetupTouched / SheetProtectHash | Använd PageSetupTouched för att se om sidkonfigurationsvärden ändrats uttryckligen, och
SheetProtectHash för att läsa/skriva den äldre 16-bitars hash-texten för bladskydd som används av äldre XLS-filformat |
| AddPivotTable / AddPivotTableCopy / PivotSetDataFieldFormat | Metoder för att skapa, kopiera och formatera pivottabeller. AddPivotTable bygger en pivottabell från ett A1-källområde, t.ex. 'Data!A1:C9', och förankrar den i den ettbaserade cellen DestRow, DestCol; den returnerar nil för en felformaterad källa eller en förankring utanför bladet. AddPivotTableCopy gör en djupkopia av en befintlig pivottabell, från denna eller en annan arbetsbok, till en ny ettbaserad förankring på detta kalkylblad (ett tomt NewName ger '<source> (2)'). PivotSetDataFieldFormat registrerar ett talformat för ett värdefält och returnerar dess talformatindex |
| PivotTables | Samling av pivottabeller definierade i detta kalkylblad |
| MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCM | Sidkonfigurationsmarginaler uttryckta i centimeter |
| TabColor / TabColorIsAuto | ARGB-färg för kalkylbladsfliken i Excel;
tilldelning av TabColor sätter TabColorIsAuto till False
TabColorIsAuto = True (standard) undertrycker
<tabColor> -barnet under <sheetPr> |
| IsChartSheet | När True skriver SaveAs bladet till
xl/chartsheets/sheetN.xml i stället för
xl/worksheets/sheetN.xml och huserar
Charts[0] som hel sida. Använd hjälparen
Workbook.AddChartSheet(...) för det vanliga upplägget |
| View | Visningsläge för kalkylbladet. Värdena är
xlsxNormalView, xlsxPageBreakPreviewoch
xlsxPageLayoutView. SaveAs skriver motsvarande
view -attribut på <sheetView>; Open läser tillbaka det |
| Zoom | Zoomprocent för bladvyn (10–400; standard 100, avgränsas vid tilldelning). Skriver zoomScale="N" inuti
<sheetView>; standardvärdet undertrycks så att orörda blad förblir opåverkade |
| DisplayGridLines | När Falsedöljs cellrutnätet i bladvyn. Standard True. Skriver
showGridLines="0" när False |
| DisplayZeros | När Falserenderas celler med nollvärde som tomma i stället för "0". Standard True. Skriver
showZeros="0" när False |
| DisplayRightToLeft | När Truevisas bladet i höger-till-vänster-layout (kolumn A till höger), lämpligt för arabisk eller hebreisk text. Skriver rightToLeft="1" |
| StandardWidth | Standardkolumnbredd i Excel-teckenheter (t.ex. 8.43 = inbyggd standard). Värden > 0 skriver
<sheetFormatPr defaultColWidth="..."/>0 = inte satt (elementet undertrycks) |
| StandardHeight | Standardradhöjd i punkter (t.ex. 15 = inbyggd standard). Värden > 0 skriver
defaultRowHeight="..." på
<sheetFormatPr>0 = inte satt |
| ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRange | Områdesoperationer för celler. CopyRange och CopyRangeTo duplicerar värden, formler, stilindex och rich-text-nyttolaster; CopyFrom duplicerar hela kalkylbladets innehåll och inställningar (inklusive sammanslagna celler, sidkonfiguration, vyläge, autofilter osv.); dessa tre kopierar bara cellinnehåll, så kommentarer lämnas kvar, och CloneRangeTo eller Sheets.AddCopy tar kommentarer med sig tillsammans med deras rich-text-körningar; MoveRange hoppar över överlapp i målet; SortRange sorterar hela rader inuti en rektangel efter en eller flera absoluta nyckelkolumner; ClearRange tar bort celler; ClearRangeValues rensar värden och formler men bevarar stilindexen |
| Range / RCRange / UsedRange | Returnerar bladägda
TXLSXRange
-omslutningar för A1-referenser, 1-baserade numeriska koordinater eller det ifyllda kalkylbladets slutna område. TXLSXRange.SaveAsHTML(FileName)
och TXLSXRange.SaveAsHTML(Stream) exporterar bara det valda området som en UTF-8-kodad HTML-tabell. Områdesomslutningarna tillhandahåller också batchvärden, formler, stilindex, talformat, ramar, skyddsflaggor, autoanpassning, sammanslagning, offset, storleksändring, sortering med flera nycklar, inbyggda cellformat, kopiering/flytt samt hjälpfunktioner för att infoga/ta bort hela rader eller kolumner |
| EntireRow / EntireColumn | Returnerar hela rad- eller kolumnområden för angivet index, lämpliga för strukturella operationer eller spridning av formatering |
| MergeCells(R1, C1, R2, C2) | Lägger till en sammanslagen rektangel och returnerar det nya postindexet. Koordinaterna är 1-baserade och inkluderande i båda ändar. Motsvarar
MergedCells.Add(R1, C1, R2, C2). För områdesliknande kod skriver
Range['A1:C3'].Merge(True) ett sammanslaget område per rad, i linje med Excels kommando för sammanslagning över rader |
| FillMergedCellValues | Kopierar varje sammanslaget områdes ankervärde till alla täckta medlemsceller så att rapportliknande blad efteråt läses som ett platt rutnät. Tomma eller null-ankare hoppas över, så förifyllda sammanslagningar behåller sitt eget innehåll, och antalet ifyllda celler returneras |
| FormControls | Samling av formulärkontroller på kalkylbladet (knappar, kryssrutor, radioknappar, kombinationsrutor, listrutor) skapade av hjälparfamiljen
AddFormButton / AddFormCheckBox /
AddFormRadioButton / AddFormComboBox /
AddFormListBox . Varje post exponerar förankringsrektangeln, länkad cell och kontrolltyp |
| AddHyperlink overloads | Lägger till en extern URL-hyperlänk till en enskild cell
Display och Tooltip är valfria. Motsvarar Hyperlinks.Add(...) |
| AddComment overloads | Lägger till en kommentar till en enskild cell. Author
är valfritt. Motsvarar Comments.Add(...) |
| ColWidth[Col] | Kolumnbredd i Excel-enheter (samma skala som dialogen för kolumnbredd i Excel). Läsning av en osatt kolumn returnerar
0; tilldelning sätter bredden för den 1-baserade kolumnen. SaveAs skriver en <col> -post per anpassad kolumn; Open spelar <cols> -blocket tillbaka i mappen |
| RowHeight[Row] | Radhöjd i punkter (samma skala som dialogen för radhöjd i Excel). Läsning av en osatt rad returnerar 0; tilldelning sätter höjden för den 1-baserade raden. SaveAs skriver attributen ht och customHeight="1" på varje <row> med anpassad höjd, även rader som bara bär en höjd utan celldata |
| SetColWidth / SetRowHeight | Direkta sättare som används av de indexerade egenskaperna ovan Tillhandahålls som namngivna metoder för anropare som hellre inte använder egenskapssyntaxen |
| HasColWidth / HasRowHeight | Returnerar True när kalkylbladet har en anpassad bredd eller höjd för angivet index. Använd detta för att skilja "ej satt" från ett medvetet 0 -värde |
| ClearColWidths / ClearRowHeights | Återställer alla anpassade bredder eller höjder till Excel-standard |
| ClearRowHidden / ClearColHidden / ClearRowCollapsed / ClearColCollapsed | Återställer alla dold-/kollapsöverskridningar för rader eller kolumner till standardläget synligt och utfällt |
| Images | Bildsamling. Använd AddImage /
AddImageFromFile som de bekväma startpunkterna. Se
TXLSXImage / TXLSXImages |
| HeaderFooterImages | Typade bildplatser för udda, jämna och första sidans sidhuvud och sidfot med oberoende egenskaper för position, storlek, marginal, format, data och titel. Se TXLSXHeaderFooterImage / TXLSXHeaderFooterImages |
| ConditionalFormats | Regler för villkorsstyrd formatering för detta kalkylblad Använd AddConditionalFormat som den bekväma startpunkten
Se TXLSXConditionalFormat / TXLSXConditionalFormats |
| DataValidations | Regler för datavalidering för detta kalkylblad. Använd
AddDataValidation / AddListValidation som
de bekväma startpunkterna. Se
TXLSXDataValidation / TXLSXDataValidations |
| IgnoredErrors | Typad metadata för felundertryckning på kalkylbladet. Varje TXLSXIgnoredError kombinerar en blankstegsseparerad flerområdes- SqRef med standardflaggorna för utvärdering, datum, lagrat tal, formel, olåst formel, tom referens, datavalidering och beräknad kolumn. Posterna överlever arbetsbladskopior och open/save-roundtrips, och deras områden följer infogning eller radering av rader och kolumner |
| AddImage / AddImageFromFile | Lägger till en bild förankrad i en cell. AddImage tar råbytena plus en TXLSXImageFormat; AddImageFromFile läser filen och slutleder formatet från filändelsen. Motsvarar Images.Add på samlingen |
| AddConditionalFormat overloads | Lägger till en cellIs-regel för villkorsstyrd formatering Motsvarar ConditionalFormats.Add(...) |
| AddCondFormatExpression / text / rank / average / duplicate / blank / error helpers | Lägger till specialiserade regler för villkorsstyrd formatering för formler, textmatchning, topp-/bottenrang, över-/undergenomsnittsvärden, dubletta eller unika värden, tomma celler, icke-tomma celler, fel och icke-fel. Det returnerade indexet kan användas med ConditionalFormats[Index].Style för att knyta formatering |
| AddWholeNumberValidation / AddWholeNumberValidation overloads / Whole whole-number validations | Lägger till valideringar för hela tal med stöd för område eller kriterier |
| ProtectedRanges | Samling av skyddade cellområden som kräver lösenordsautentisering i bladet |
| RawWorksheetExts | Exponerar råa data från kalkylbladets tilläggslista för direkt XML-injektion |
| SparklineGroups / AddSparklineGroup | Hanterar inline miniatyrsparkline-diagram i celler. AddSparklineGroup skapar en grupp som refererar till ett dataområde. |
| ThreadedComments / AddThreadedComment / AddThreadedReply | Stödjer moderna trådade kommentarssamtal (svar). AddThreadedComment skapar en ny trådad kommentarssamtal på toppnivå, och AddThreadedReply lägger till ett svar. |
| AddAreaChart / AddBarChart / AddChartFromRange / AddColumnChart / AddLineChart / AddPieChart | Excel-diagramgenvägar. AddChartFromRange skapar ett förankrat diagram direkt från celldata |
| GetSheetProtectOption / SetSheetProtectOption | Hämtar eller ställer in specifika behörighetsflaggor för bladskydd programmatiskt. |
| PasteFromClipboard | Klistrar in innehåll från urklipp direkt från och med angivna koordinater |
| AlignWithMargins | Anger om sidmarginalerna anpassas efter kalkylbladets innehåll |
| CodeName | Anger kodnamnet för VBA-bladet |
| ConsolidateXml | Exponerar rå konsoliderad XML-data |
| DifferentFirst | Aktiverar separat sidhuvud/sidfot för första sidan |
| DifferentOddEven | Aktiverar separata sidhuvuden/sidfötter för udda/jämna sidor |
| EvenFooterText / EvenHeaderText | Textsträngar för sidhuvud och sidfot på jämna sidor |
| FirstFooterText / FirstHeaderText | Textsträngar för sidhuvud och sidfot på första sidan |
| FirstPageNumber | Utskriftsnumret för första sidan |
| GridColor | Färg på bladets rutnät |
| HorizontalDpi / VerticalDpi | Utskrifts-DPI-upplösningar för den vågräta och lodräta axeln |
| OutlineLevelCol / OutlineLevelRow | Standarddispositionsnivå för kolumner och rader |
| PaneState | Panelens frusna rullningstillstånd |
| PhoneticAlignment / PhoneticFontId / PhoneticType | Justering, typsnittsindex och fonetisk typ för CJK-fonetisk ruby-text |
| PrintErrors | Utskriftsbeteende för cellfel |
| ScaleWithDoc | Skalar sidhuvud/sidfot med dokumentets skala |
| Scenarios | Typad samling för What-If Scenario Manager. Varje scenario äger en till 32 inputceller och stödjer sitt namn, låst och dold status, metadata för användare och kommentar, lagrade värden, talformat och flaggor för raderad/ångrad.
CurrentIndex, ShownIndexoch
SqRef exponerar Scenario Manager-tillståndet på kalkylbladsnivå |
| ScenariosXml | Äldre fallback med rå inner-XML som bara används när den
typade samlingen Scenarios är tom |
| SheetProtectAlgorithmName / SheetProtectHashValue / SheetProtectSaltValue / SheetProtectSpinCount | Kryptografiska egenskaper för moderna lösenordshashar för bladskydd |
| ShowFormulas | Visar formler i stället för värden |
| ShowOutlineSymbols | Visar symbolerna för disposationsgrupper |
| SortState / SortStateXml | Typade sorteringskriterier och ordagrant sort-XML-innehåll |
| SummaryBelow / SummaryRight | Dispositionens placering av summeringsrad och summeringskolumn |
| UseFirstPageNumber | Använder uttrycklig start för sidnumreringen |
| UsePrinterDefaults | Använder skrivarens DEVMODE-standardinställningar |
| ZeroHeight | Döljer nyligen infogade rader som standard |
| ZoomNormal / ZoomPageLayout / ZoomSheetLayout | Zoomnivåvärden för normalvyn, sidlayoutvyn och sidbrytningsförhandsvisningen |
| AddWordArt | Lägger till en WordArt-formkontroll i kalkylbladet |
| BuildRowMajorCellOrder | Optimerar cellagringen sekventiellt för radvis iteration |
| ClearRawDrawingAnchors | Rensar alla råa, omappade XML-ankare för ritformer |
| CreateConditionalFormatEvaluator | Instansierar en utvärderingsmotor för villkorsstyrd formatering |
| RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchor | Hanterar råa, omappade XML-ankare för ritobjekt.
AddRawDrawingAnchor lägger till ett komplett
<xdr:...Anchor> -block som bevaras ordagrant för roundtrip och returnerar det nya TXLSXDrawingObject |
| BringToFront / SendToBack / BringForward / SendBackward | Ordna om ett ritobjekt i bladets z-ordning:
BringToFront flyttar det ovanför alla andra ritningar,
SendToBack under alla andra, och varianterna
Forward / Backward stegar det en position |
| SaveAsPDF | Exporterar kalkylbladet till en PDF-fil eller -ström |
| TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevel | Fråga eller ändra idempotent riktningskänsliga sammanfattningsnoder för rader och kolumner via den gemensamma glesa dispositionsmodellen; se Sparse outline geometry |
| ToggleColGrouped / ToggleRowGrouped | Toggles column or row grouping collapsed state |
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;