HotXLS Belgeleri

TXLSXCell / TXLSXCells sınıfları

Bir TXLSXWorksheet üzerinde hücre değeri erişimi TXLSXCell tek bir hücredir (değer artı isteğe bağlı formül ve stil dizini); TXLSXCells, Worksheet.Cells aracılığıyla ulaşılan çalışma sayfası başına koleksiyondur. lxHandleX içinde bildirilmiştir

TXLSXCell bildirimi

type
  TXLSXCell = class
    constructor Create(ARow, ACol: Integer; const AValue: Variant);
    destructor Destroy; override;
    procedure SetWorkbook(AWorkbook: TXLSXWorkbook);
    procedure SetArrayRoot(ARootRow, ARootCol: Integer);
    procedure SetArrayRange(ARootRow, ARootCol, ALastRow, ALastCol: Integer);
    property Workbook: TXLSXWorkbook;
    property ArrayRootRow: Integer;
    property ArrayRootCol: Integer;
    property ArrayLastRow: Integer;
    property ArrayLastCol: Integer;
    property Row: Integer;
    property Col: Integer;
    property Value: Variant;
    property FormatIndex: Integer;
    property FontIndex: Integer;
    property FillIndex: Integer;
    property BorderIndex: Integer;
    property NumberFormatIndex: Integer;
    property NumberFormat: WideString;
    property AlignmentIndex: Integer;
    property ProtectionIndex: Integer;
    property Formula: WideString;
    property RichText: TXLSXRichText;
    property Locked: Boolean;
    property FormulaHidden: Boolean;
    property FormattedText: WideString;
    property TaggedText: WideString;
  end;
      

TXLSXCell üyeleri

Destroy Örnek durumunu serbest bırakır ve sahip olunan kaynakları serbest bırakır
SetWorkbook Sayı biçimi aramaları gibi işlemlerin paylaşılan çalışma kitabı havuzlarını O(1) sürede yeniden kullanabilmesi için sahip olan çalışma kitabı başvurusunu yazar
SetArrayRoot / SetArrayRange Tek bir kök hücrenin aynı dikdörtgendeki tüm bağımlı hücreleri eşlemesi için dizi formülü yayılma çapalarına yönelik ArrayRoot* ve ArrayLast* işaretçilerini ayarlayın
Çalışma Kitabı Çalışma sayfası hücresi oluşturma tarafından ayarlanan, sahibi olan TXLSXWorkbook öğesine geri referans
ArrayRootRow / ArrayRootCol / ArrayLastRow / ArrayLastCol Dizi formülü dikdörtgenleri için kaydetme/yükleme çift yönlü dönüşümü tarafından kullanılan salt okunur CSE yayılma meta verileri
Satır 1 tabanlı satır dizini
Col 1 tabanlı sütun dizini (1 = A, 2 = B, ...)
Değer Variant olarak hücre değeri. Dizeler, sayılar, boolean'lar ve TDateTime desteklenir. Açık bir FormatIndex ayarlanmadığında, bir TDateTime atanması otomatik olarak yerleşik tarih cellXf (XlsxXfIndexDate) değerini seçer
FormatIndex xl/styles.xml içindeki cellXfs dizini Varsayılan stil için 0 olarak bırakın. Dizin 1 yerleşik tarih biçimi (numFmtId 14, m/d/yyyy) için ayrılmıştır. Ayarlandığında, FormatIndex yayılan hücrede FontIndex değerinden önceliklidir
FontIndex 1 tabanlı dizin: TXLSXWorkbook.Fonts Varsayılan Calibri 11 değerini devralmak için 0 olarak bırakın
FillIndex 1 tabanlı dizin: TXLSXWorkbook.Fills TXLSXFill kısmına bakın
BorderIndex 1 tabanlı dizin: TXLSXWorkbook.Borders TXLSXBorder kısmına bakın
NumberFormatIndex 1 tabanlı dizin: TXLSXWorkbook.NumberFormats Bunu '$#,##0.00' veya 'yyyy-mm-dd hh:mm:ss' gibi özel biçim kodları için kullanın
NumberFormat Özel sayı biçimi metni için kolaylık özelliği NumberFormatIndex birine işaret ettiğinde okuma işlemi, çalışma kitabı sayı biçimi havuzundan biçim kodunu döndürür; bir dize atanması, biçimi bulur veya ekler ve NumberFormatIndex değerini günceller
AlignmentIndex 1 tabanlı dizin: TXLSXWorkbook.Alignments Giriş başına yatay / dikey / metni kaydır / girinti / döndürme ayarları için TXLSXAlignment bölümüne bakın
RichText İsteğe bağlı sahipli TXLSXRichText yükü Ayarlandığında, hücre düz bir dize yerine çoklu çalıştırılan bir <si> girdisi olarak paylaşılan dize tablosundan geçer; nil atamak hücrenin Variant değerine geri döner
Öncelik Aynı hücre üzerinde birkaç *Index özelliği ayarlandığında, SaveAs tarafı eşleşen cellXf'i şu sıra ile seçer: FormatIndex > FontIndex > FillIndex > BorderIndex > NumberFormatIndex
Formül İsteğe bağlı formül metni (başta = olmadan) Ayarlandığında, SaveAs hücre değeriyle birlikte bir <f> alt öğesi yayar ve Open bunu geri okur
ProtectionIndex Çalışma kitabı koruma havuzundaki dizin. Locked and FormulaHidden kolaylık özellikleri, ortak kullanım için bu dizini otomatik olarak korur
Locked True olduğunda (her yeni hücre için varsayılandır), çalışma sayfası korunduğunda hücre de korunur; korumalı bir sayfanın içindeki belirli bir hücrenin düzenlenmesine izin vermek için False olarak ayarlayın; varsayılandan farklı olduğunda hücrenin cellXf yapısı içine bir <protection locked="0"/> özniteliği yazar
FormulaHidden True olduğunda, sayfa korunduğunda formül çubuğu hücrenin formülünü göstermez; varsayılan False; eşleşen cellXf içinde <protection hidden="1"/> yayar
FormattedText Salt okunur WideString. Hücrenin değerini, aktif özel veya yerleşik sayı biçim koduna göre dize olarak biçimlendirilmiş şekilde döndürür
TaggedText Salt okunur WideString. Uygun olduğunda, zengin metin stilleri için HTML/XML benzeri biçimlendirme etiketleri içeren biçimlendirilmiş hücre dizesini döndürür

TXLSXCells bildirimi

type
  TXLSXCells = class
    constructor Create(AOwnerSheet: TXLSXWorksheet);
    destructor Destroy; override;
    procedure Clear;
    function HasCell(ARow, ACol: Integer): Boolean;
    function Remove(ARow, ACol: Integer): Boolean;
    property Item[ARow, ACol: Integer]: TXLSXCell; default;
    property Count: Integer;
    property CellByIndex[Index: Integer]: TXLSXCell;
  end;
      

TXLSXCells üyeleri

Create Sahibi olan bir çalışma sayfasına bağlı bir hücre koleksiyonu oluşturur
Destroy Koleksiyona ait tüm hücreleri serbest bırakır
Item[Row, Col] İlk erişimde boş bir TXLSXCell oluşturarak verilen 1 tabanlı koordinatlardaki hücreyi döndürür. Varsayılan özellik olarak bildirildiğinden Cells[Row, Col] kısayol olarak çalışır
Count Şu anda saklanan hücre sayısı
CellByIndex[i] Verilen 0 tabanlı ekleme dizinindeki hücre. Doldurulmuş satır ve sütunlar hakkında önceden bilgi sahibi olmadan sıralı numaralandırma için yararlıdır
Remove Koordinattaki mevcut bir hücreyi siler ve kaldırma işleminin gerçekten gerçekleşip gerçekleşmediğini döndürür
HasCell(Row, Col) Verilen koordinatlarda bir hücre zaten mevcutsa True döndürür. Bunu, Item[Row, Col] özelliğinin bir yan etkisi olarak boş bir hücre oluşturmaktan kaçınmak için kullanın
Clear Koleksiyondaki her hücreyi kaldırır ve serbest bırakır

Örnek

var
  ws: TXLSXWorksheet;
  i: Integer;
begin
  ws := Workbook.Sheets.Add('Demo');

  ws.Cells.Item[1, 1].Value := 'Hello';
  ws.Cells.Item[1, 2].Value := 123.45;
  ws.Cells.Item[2, 1].Value := Now;             // renders as a date
  ws.Cells.Item[2, 2].Formula := 'SUM(B1:B1)';

  for i := 0 to ws.Cells.Count - 1 do
    WriteLn(ws.Cells.CellByIndex[i].Row, ',',
            ws.Cells.CellByIndex[i].Col);
end;
    

Ayrıca bakınız