HotXLS-dokumentation

TXLSXWorksheet class

Ett enskilt kalkylblad inuti en TXLSXWorkbook Äger cellsamlingen plus samlingarna för sammanslagna celler, hyperlänkar och kommentarer. Deklarerad i lxHandleX

Declaration

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;
      

Members

NameKalkylbladsflikenamnet som visas i Excel
SetWorkbook / WorkbookSä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
CellsCellsamling. Använd Cells.Item[Row, Col].Value Se TXLSXCells / TXLSXCell
CalculateKompilerar 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 / CheckDataValidationGetCellVisibleFormat 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 / WriteRowsHjä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
MergedCellsSamling av sammanslagna områden. Se TXLSXMergedCells
HyperlinksSamling av hyperlänkar. Se TXLSXHyperlinks
CommentsSamling av cellkommentarer. Se TXLSXComments
Tables / AddTableTabellband i Excel-stil i kalkylbladet. Se TXLSXTable / TXLSXTables
Charts / AddChartSamling 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 / FindTextBoxAtSkapar, 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 overloadsIntern ankarhyperlänk — hoppar till en Sheet!Cell -plats någon annanstans i arbetsboken. Ingen rels-relation genereras. Se TXLSXHyperlink.Location
RowOutlineLevel / ColOutlineLevelGrupperingsnivå (0..7) för motsvarande rad eller kolumn. SaveAs skriver outlineLevel="N" på rad-/kolumnposten
RowHidden / ColHiddenBoolean — tar bort raden eller kolumnen från vyn (hidden="1")
RowCollapsed / ColCollapsedBoolean — markerar en rad/kolumn vars grupperingsförälder är kollapsad (collapsed="1")
FreezePanes(Row, Col) / UnfreezePaneSä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 propertiesAlla 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
VisibilityKalkylbladets 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 / IsSelectedNär Truevisas fliken som markerad (framhävd). Flera kalkylblad kan vara markerade samtidigt. SaveAs skriver tabSelected="1" på motsvarande <sheetView>
AutoFitColumn / AutoFitColumnsAutoFitColumn(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 / AutoFitRowsAutoFitRow(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 / DeleteRowsInsertRows(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 / DeleteColsSamma som InsertRows / DeleteRows men opererar på kolumner. Kolumnbredder, disposationsnivåer och doldflaggor uppdateras också
AddRowBreak / AddColBreakAddRowBreak(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 / IndexOfColBreakFrågar efter eller lokaliserar en enskild manuell brytning via dess "före"-index
RemoveRowBreak / RemoveColBreak / RemoveRowBreaksInRange / RemoveColBreaksInRangeTar 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 / ClearAllPageBreaksTar 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 / KeepColLinkLevelReturnerar 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 / PrintHeadingsNä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 / PrintOverThenDownUtskriftsalternativ 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
PrintAreaDet 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 / PrintTitleColsRad- eller kolumnområden som upprepas på varje utskriven sida (t.ex. "$1:$3" eller "$A:$B"). Skrivs som <definedName name="_xlnm.Print_Titles">
SetAutoFilter / AutoFilterRangeSätter filterområdet (t.ex. "A1:C100"); SaveAs skriver <autoFilter ref="..."/>
AutoFilterColumns / AddAutoFilterColumn / ClearAutoFilterColumnsFilterkriterier 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 / ApplyAutoFilterAutoFilterRowVisible(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 / IsProtectedVäxling av skydd på bladnivå med valfri 16-bitars äldre lösenordshash. Återspeglas som <sheetProtection>
AllowOption / SheetProtectionOptions15 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 / SheetProtectHashAnvä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 / PivotSetDataFieldFormatMetoder 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
PivotTablesSamling av pivottabeller definierade i detta kalkylblad
MarginLeftCM / MarginRightCM / MarginTopCM / MarginBottomCM / MarginHeaderCM / MarginFooterCMSidkonfigurationsmarginaler uttryckta i centimeter
TabColor / TabColorIsAutoARGB-färg för kalkylbladsfliken i Excel; tilldelning av TabColor sätter TabColorIsAuto till False TabColorIsAuto = True (standard) undertrycker <tabColor> -barnet under <sheetPr>
IsChartSheetNä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
ViewVisningsläge för kalkylbladet. Värdena är xlsxNormalView, xlsxPageBreakPreviewoch xlsxPageLayoutView. SaveAs skriver motsvarande view -attribut på <sheetView>; Open läser tillbaka det
ZoomZoomprocent 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
DisplayGridLinesNär Falsedöljs cellrutnätet i bladvyn. Standard True. Skriver showGridLines="0" när False
DisplayZerosNär Falserenderas celler med nollvärde som tomma i stället för "0". Standard True. Skriver showZeros="0" när False
DisplayRightToLeftNä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"
StandardWidthStandardkolumnbredd i Excel-teckenheter (t.ex. 8.43 = inbyggd standard). Värden > 0 skriver <sheetFormatPr defaultColWidth="..."/>0 = inte satt (elementet undertrycks)
StandardHeightStandardradhöjd i punkter (t.ex. 15 = inbyggd standard). Värden > 0 skriver defaultRowHeight="..." på <sheetFormatPr>0 = inte satt
ClearRangeValues / CopyRange / CopyRangeTo / CopyFrom / MoveRange / SortRange / ClearRangeOmrå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 / UsedRangeReturnerar 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 / EntireColumnReturnerar 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
FillMergedCellValuesKopierar 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
FormControlsSamling 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 overloadsLägger till en extern URL-hyperlänk till en enskild cell Display och Tooltip är valfria. Motsvarar Hyperlinks.Add(...)
AddComment overloadsLä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 / SetRowHeightDirekta 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 / HasRowHeightReturnerar 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
ImagesBildsamling. Använd AddImage / AddImageFromFile som de bekväma startpunkterna. Se TXLSXImage / TXLSXImages
HeaderFooterImagesTypade 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
ConditionalFormatsRegler för villkorsstyrd formatering för detta kalkylblad Använd AddConditionalFormat som den bekväma startpunkten Se TXLSXConditionalFormat / TXLSXConditionalFormats
DataValidationsRegler för datavalidering för detta kalkylblad. Använd AddDataValidation / AddListValidation som de bekväma startpunkterna. Se TXLSXDataValidation / TXLSXDataValidations
IgnoredErrorsTypad 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 / AddImageFromFileLä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 overloadsLägger till en cellIs-regel för villkorsstyrd formatering Motsvarar ConditionalFormats.Add(...)
AddCondFormatExpression / text / rank / average / duplicate / blank / error helpersLä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 validationsLägger till valideringar för hela tal med stöd för område eller kriterier
ProtectedRangesSamling av skyddade cellområden som kräver lösenordsautentisering i bladet
RawWorksheetExtsExponerar råa data från kalkylbladets tilläggslista för direkt XML-injektion
SparklineGroups / AddSparklineGroupHanterar inline miniatyrsparkline-diagram i celler. AddSparklineGroup skapar en grupp som refererar till ett dataområde.
ThreadedComments / AddThreadedComment / AddThreadedReplyStö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 / AddPieChartExcel-diagramgenvägar. AddChartFromRange skapar ett förankrat diagram direkt från celldata
GetSheetProtectOption / SetSheetProtectOptionHämtar eller ställer in specifika behörighetsflaggor för bladskydd programmatiskt.
PasteFromClipboardKlistrar in innehåll från urklipp direkt från och med angivna koordinater
AlignWithMarginsAnger om sidmarginalerna anpassas efter kalkylbladets innehåll
CodeNameAnger kodnamnet för VBA-bladet
ConsolidateXmlExponerar rå konsoliderad XML-data
DifferentFirstAktiverar separat sidhuvud/sidfot för första sidan
DifferentOddEvenAktiverar separata sidhuvuden/sidfötter för udda/jämna sidor
EvenFooterText / EvenHeaderTextTextsträngar för sidhuvud och sidfot på jämna sidor
FirstFooterText / FirstHeaderTextTextsträngar för sidhuvud och sidfot på första sidan
FirstPageNumberUtskriftsnumret för första sidan
GridColorFärg på bladets rutnät
HorizontalDpi / VerticalDpiUtskrifts-DPI-upplösningar för den vågräta och lodräta axeln
OutlineLevelCol / OutlineLevelRowStandarddispositionsnivå för kolumner och rader
PaneStatePanelens frusna rullningstillstånd
PhoneticAlignment / PhoneticFontId / PhoneticTypeJustering, typsnittsindex och fonetisk typ för CJK-fonetisk ruby-text
PrintErrorsUtskriftsbeteende för cellfel
ScaleWithDocSkalar sidhuvud/sidfot med dokumentets skala
ScenariosTypad 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 / SheetProtectSpinCountKryptografiska egenskaper för moderna lösenordshashar för bladskydd
ShowFormulasVisar formler i stället för värden
ShowOutlineSymbolsVisar symbolerna för disposationsgrupper
SortState / SortStateXmlTypade sorteringskriterier och ordagrant sort-XML-innehåll
SummaryBelow / SummaryRightDispositionens placering av summeringsrad och summeringskolumn
UseFirstPageNumberAnvänder uttrycklig start för sidnumreringen
UsePrinterDefaultsAnvänder skrivarens DEVMODE-standardinställningar
ZeroHeightDöljer nyligen infogade rader som standard
ZoomNormal / ZoomPageLayout / ZoomSheetLayoutZoomnivåvärden för normalvyn, sidlayoutvyn och sidbrytningsförhandsvisningen
AddWordArtLägger till en WordArt-formkontroll i kalkylbladet
BuildRowMajorCellOrderOptimerar cellagringen sekventiellt för radvis iteration
ClearRawDrawingAnchorsRensar alla råa, omappade XML-ankare för ritformer
CreateConditionalFormatEvaluatorInstansierar en utvärderingsmotor för villkorsstyrd formatering
RawDrawingAnchor / RawDrawingAnchorCount / AddRawDrawingAnchorHanterar 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 / SendBackwardOrdna 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
SaveAsPDFExporterar kalkylbladet till en PDF-fil eller -ström
TryGetOutlineNode / SetOutlineNodeCollapsed / SetOutlineDisplayLevelFråga eller ändra idempotent riktningskänsliga sammanfattningsnoder för rader och kolumner via den gemensamma glesa dispositionsmodellen; se Sparse outline geometry
ToggleColGrouped / ToggleRowGroupedToggles column or row grouping collapsed state

Regeländringar för hela axlar och intervallkopior

Från och med 2.384.77 accepterar målorden för villkorsformatering och datavalidering hela rader och kolumner vid strukturella redigeringar och kloning av beroenden; redigeringarna normaliserar giltiga områden, behåller fullständiga rutnätsutsträckningar och släpper mål vars rader eller kolumner tagits bort
Cellkopior av hela rader, hela kolumner och hela kalkylblad går igenom lagrade celler, behåller gles målrensning och fångar källinnehållet innan en överlappande destination rensas; att kopiera ett tomt helaxelsintervall materialiserar inte dess tomma koordinater
Kopior mellan arbetsböcker mappar fortfarande om formatering och rich text efter värde, och kompletta kontra partiella CSE-arraykopior behåller sina befintliga formelkontrakt
Från och med 2.384.78 fångar cellintervallkopior även överlappande virtuella stilöverlägg före mutationen, klipper explicita målöverlägg till den kopierade rektangeln och mappar om varje kopierad formateringsdel mellan arbetsböcker, inklusive explicita återställningar till index noll
Standardvärden för helaxeldestinationer förblir kompakta och maskeras inuti den kopierade rektangeln innan källlagren tillämpas; att kopiera en tom källa rensar tidigare explicit överläggsformatering inuti den rektangeln, behåller formatering utanför den och skapar inte en cell för varje täckt koordinat
Klonade villkors- och valideringsregler kräver att alla målorden ryms inom källrektangeln; regler som bara skär den hoppas över, och en destination som sträcker sig utanför arbetsbladets rutnät avvisas innan kopiering
Ändligt upprepade tomma stilar importerade från ODS bidrar med båda ändpunkterna till det använda området; standardstilöverlägg för hela rader, hela kolumner och hela kalkylblad utökar det inte enbart för att de täcker tomma koordinater

Exempel

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;
    

Se även