HotXLS Belgeleri

TXLSXRange class

Birim: lxHandleX
Temsil eder a rectangular XLSX worksheet range returned by TXLSXWorksheet.Range, RCRange, UsedRange, EntireRow, or EntireColumn. A range is a lightweight view over its worksheet; it does not own cell data

Declaration

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
  constructor Create(ASheet: TXLSXWorksheet; ARow1, ACol1, ARow2, ACol2: Integer);
  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;

  property Sheet: TXLSXWorksheet;
  property Row1, Col1, Row2, Col2: Integer;
  property RowCount, ColCount: Integer;

  procedure SetValue(const V: Variant);
  procedure SetFormula(const F: WideString);
  function SetArrayFormula(const F: WideString): Integer;
  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;
  procedure ApplyFormatPatch(ASource: TXLSXRange; AParts: TXLSXFormatParts);
  function CopyToClipboard: Boolean;
  function SaveAsPDF(const FileName: WideString): Integer; overload;
  function SaveAsPDF(Stream: TStream): Integer; overload;
  function SetDynamicArrayFormula(const F: WideString): Integer;
end;

Members

Member Description
Create(ASheet, ARow1, ACol1, ARow2, ACol2) Builds a new worksheet-owned range and normalizes reversed corners so Row1/Col1 are always the upper-left coordinate
RefA1 Döndürür the range reference as A1 text. Single-cell ranges return a single cell reference such as B2
SaveAsHTML Options overloads accept TXLSXHtmlExportOptions for Title, WriteDocument, IncludeStyles, IncludeBOM, and TableClass. Set WriteDocument to False for a table fragment; set IncludeBOM to False — çıktıyı mevcut bir UTF-8 yanıtına gömerken. Aynı seçenekler, seçili aralığın HTML dışa aktarması için de mevcuttur. Dışa aktarılan çıktı, hücre köprülerini <a> anchors and anchored images as inline data: resim URI'lerini, seçili dikdörtgenin içine düşüyorlarsa kaldırır. Seçili dikdörtgendeki hücre yorumları da kaçılmış <td> title attributes. When IncludeStyles is enabled, explicit ColWidth values are emitted as <col> widths and explicit RowHeight values as <tr> height styles. Rich-text cell runs are emitted as escaped <span> elements with inline font, color, emphasis, and underline styles when IncludeStyles is enabled. Cell borders are emitted as CSS border-left, border-right, border-top, and border-bottom rules when IncludeStyles is enabled. Hidden rows and columns marked by RowHidden / ColHidden, plus explicit zero-width columns, are skipped in the generated table and <colgroup>. Vertical alignment settings are emitted as CSS vertical-align rules when IncludeStyles is enabled
SetValue / SetFormula Aralıktaki her hücreye, çalışma sayfası hücre koleksiyonu üzerinden aynı değeri veya formül metnini yazar
SetArrayFormula Aralığa çok hücreli bir CSE dizi formülü ayarlar. Sol üst hücre formül metnini saklar ve spill aralığını çapar; kalan hücreler o köke işaret eder, böylece her hücre matris sonucunun kendi öğesini değerlendirir. Formül metnini, çevresindeki süslü parantezler olmadan geçirin
ClearValues / Clear / ClearAll ClearValues and Clear remove values and formulas while preserving style indexes. ClearAll also clears style indexes
SetFontIndex / SetFillIndex / SetBorderIndex / SetNumberFormatIndex / SetAlignmentIndex Aralıktaki her hücreye 1 tabanlı çalışma kitabı palet dizinleri uygular. İlgili hücre başına dizini temizlemek için 0 geçirin
SetNumberFormat Sayı biçimi string'ini çalışma kitabı paletinde arar veya ekler, sonra elde edilen 1 tabanlı dizini aralığa uygular. Boş bir biçim, hücre başına dizini temizler
SetBorders Composes border edges over the range. TXLSXBorderEdgeKind accepts xlsxEdgeAll, xlsxEdgeOutline, xlsxEdgeInside, xlsxEdgeInsideHorizontal, xlsxEdgeInsideVertical, xlsxEdgeTop, xlsxEdgeBottom, xlsxEdgeLeft, xlsxEdgeRight, xlsxEdgeDiagonalUp, and xlsxEdgeDiagonalDown. İlgisiz kenar ayarlarının yerine geçmeden tablo kenarlıkları oluşturmak için anahat ve iç kenar seçicilerini kullanın
SetLocked / SetFormulaHidden Çalışma kitabı koruma stili havuzunu yeniden kullanarak aralıktaki her hücreye hücre koruma bayraklarını uygular
AutoFitColumns / AutoFitRows Aralığın sütun veya satır sınırları üzerinde çalışma sayfası otomatik sığdırma yardımcılarına yönlenir. İsteğe bağlı genişlik ve yükseklik sınırları, rapor düzenlerini tasarım sınırları içinde tutmak için olduğu gibi iletilir
Merge / Unmerge Merge and Merge(False) create one merged rectangle. Merge(True) creates one merged range per row, matching Excel's merge-across behavior. Unmerge removes an exact merged-range match
Offset / Resize Döndürür another worksheet-owned range shifted from the current bounds or resized to the requested row and column count
Sort Bu aralıktaki satırları tek bir anahtar sütuna göre veya öncelik sırasına göre birden çok anahtar sütuna göre sıralar. ADescending anahtar başına artan veya azalan sırayı seçer; belirtilmeyen girdiler varsayılan olarak artan sıralanır. Boş değerler en sona gelir
ApplyBuiltinStyle Excel yerleşik bir hücre stilinin görünür görünümünü aralıktaki her hücreye uygular. Yardımcı, eşleşen yazı tipini ve dolguyu çalışma kitabı havuzlarına ekleyip elde edilen dizinleri hücrelere atayarak doğrudan biçimlendirme yazar
CopyTo / MoveTo Tüm aralığı, hedefteki sol üst hücreye kopyalar veya taşır. Değerler, formüller, zengin metin payload'ları, stil dizinleri, yorumlar, köprüler ve çizim çğaları, çalışma sayfasının aralık kopyalama ve aralık taşıma yardımcıları üzerinden iletilir
InsertRows / DeleteRows / InsertCols / DeleteCols Aralık sınırları üzerinde tüm satır veya tüm sütun ekleme ve silme yapar. Bu yardımcılar, çalışma sayfasının satır/sütun kaydırma işlemlerine yönlenir; böylece formüller, başvurular, filtreler, sayfa yapısı aralıkları, grafik aralıkları, adlar, resimler ve grafik çğaları düzenlenen ızgarayla hizalı kalır
ApplyFormatPatch TXLSXFormatParts bayraklarını kullanarak başka bir kaynak aralıktan bu aralığa seçici biçimlendirme stilleri uygular
CopyToClipboard Copies the range values and styles to the Windows clipboard
SaveAsPDF Hücre aralığını, işlem içi PDF oluşturma motoruyla PDF dosyası veya akış olarak dışa aktarır
SetDynamicArrayFormula Aralığa, Excel'in dinamik spill davranışını destekleyen bir dinamik dizi formülü ayarlar

Ownership and bounds

Aralıklar, onları oluşturan çalışma sayfasının mülkiyetindedir ve o çalışma sayfasıyla birlikte serbest bırakılır. Uygulama kodu Free on a TXLSXRange ve çalışma sayfası veya çalışma kitabı yok edildikten sonra bir aralık başvurusu tutmamalıdır
Sayısal koordinatlar 1 tabanlıdır. Aralık oluşturma, ters çevrilmiş köşeleri normalleştirir ve sınırları XLSX çalışma sayfası limitlerine kırpar

Örnek

var
  Wb: TXLSXWorkbook;
  Ws: TXLSXWorksheet;
  Body: TXLSXRange;
begin
  Wb := TXLSXWorkbook.Create;
  try
    Ws := Wb.Sheets.Add('Report');
    Body := Ws.Range['B2:D20'];
    Body.SetNumberFormat('#,##0.00');
    Body.SetBorders(xlsxEdgeOutline, xlsxBorderThin, $FF808080);
    Body.Sort(2);
    Body.ApplyBuiltinStyle(xbsAccent1);
    Ws.Range['F2:G3'].SetArrayFormula('MMULT(A2:B3,D2:E3)');
    Body.AutoFitColumns;
    Body.SaveAsHTML('report-fragment.html');
  finally
    Wb.Free;
  end;
end;

Ayrıca bkz.