HotXLS Belgeleri

Genel bakış

HotXLS Logo
HotXLS Excel Okuma/Yazma Kitaplığı, Delphi ve C++Builder için yüksek performanslı bir Excel okuma-yazma bileşenidir Makineye Microsoft Excel veya Office kurulmasını gerektirmeden yeni Excel elektronik tabloları oluşturabilir, mevcut XLS ve XLSX çalışma kitaplarını okuyabilir veya değiştirebilir
HotXLS tamamen Object Pascal ile yazılmıştır. Excel dosyalarını ikili ve OOXML düzeyinde doğrudan okur ve yazar; böylece COM/OLE otomasyon yükü yoktur ve Office'in lisanslı veya kurulu olmasına bağımlılık yoktur. HotXLS, Delphi ve C++Builder XE5 ile 13 Florence sürümlerini destekler
Klasik XLS renk biçimlendirmesi bilinçli olarak palet tabanlı kalır. ThemeColor / TintAndShade kararı için Klasik XLS renk modeli bölümüne bakın

Çift Cephe Mimarisi

HotXLS, eski XLS kodunun ve yeni XLSX kodunun herhangi bir yeniden düzenleme gerektirmeden yan yana yaşayabilmesi için iki eşzamanlı cephe birimini sunar:
lxHandle Excel 97–2003 BIFF8 biçimi (.xls) ile HTML, RTF, CSV ve TSV dışa aktarımı için birincil cephe. Mevcut tüm kullanıcı kodu bu birimi değişiklik yapmadan kullanmaya devam eder. Giriş noktaları: TXLSWorkbook, TXLSWorksheet, IXLSWorkbook, IXLSRange
lxHandleX Excel 2007+ OOXML biçimi (.xlsx) ve OpenDocument Spreadsheet (.ods) okuma/yazma için birincil cephe. Kendi çalışma kitabı ve çalışma sayfası türlerini sağlar; böylece XLSX'e özgü davranışlar BIFF kod yoluna geri uyarlanmaz. Giriş noktaları: TXLSXWorkbook, TXLSXWorksheet, TXLSXCell
Her iki cephe de aynı formül motorunu, aynı Unicode destek katmanını ve aynı dışa aktarma hattını paylaşır lxHandleX tarafından sunulan tam sınıf hiyerarşisi için XLSX Cephesine Genel Bakış bölümüne bakın

Hızlı Başlangıç

Aşağıdaki kod parçacıkları, tek çalışma sayfası olan bir çalışma kitabı oluşturmak ve bir hücreye değer yazmak için gereken en küçük kodu gösterir.

Klasik XLS (lxHandle)

uses lxHandle;

var
  Book: IXLSWorkbook;
  ws:   TXLSWorksheet;
begin
  Book := TXLSWorkbook.Create;
  // Add a worksheet and give it a name
  ws := Book.Sheets.Add;
  ws.Name := 'Sheet1';

  // Write values to cells using A1 notation
  ws.Range['A1'].Value := 'Hello';
  ws.Range['B1'].Value := 42;
  ws.Range['C1'].Formula := '=B1*2';

  // Apply basic formatting
  ws.Range['A1'].Font.Bold := True;
  ws.Range['A1'].Interior.Color := clYellow;

  Book.SaveAs('output.xls');
end;

XLSX (lxHandleX)

uses lxHandleX;

var
  Book: TXLSXWorkbook;
  ws:   TXLSXWorksheet;
  cell: TXLSXCell;
begin
  Book := TXLSXWorkbook.Create;
  try
    ws := Book.Sheets.Add('Sheet1');

    // Write a string and a numeric value
    ws.Cells[1, 1].Value := 'Product';
    ws.Cells[1, 2].Value := 'Price';
    ws.Cells[2, 1].Value := 'Widget';
    ws.Cells[2, 2].Value := 9.99;

    // Apply a currency number format
    cell := ws.Cells[2, 2];
    cell.NumberFormat := '$#,##0.00';

    Book.SaveAs('output.xlsx');
  finally
    Book.Free;
  end;
end;
Her iki cepheyi de tek bir demo projesinde kapsayan daha kapsamlı bir anlatım için API Turu Demosu bölümüne bakın

Özellikler

Dosya G/Ç ve Akış Desteği

Mevcut Excel dosyalarını okur, yeni veya mevcut Excel dosyalarına yazar; klasik XLS parola korumasını ve XLSX şifreli kaydetme iş akışlarını yönetir ve tüm çalışma kitabını yüklemeden XLS ile XLSX dosyalarından veya akışlarından sayfa adlarını hızlıca listeler. CSV'yi çalışma kitabı olarak açma, IXLSWorkbook.OpenCSV ile desteklenir

Hücre Değerleri ve Formüller

Tüm yerel Excel türlerindeki hücre değerlerini okur ve yazar: sayı, metin, tarih/saat, boolean ve formül Yerleşik hesaplama motoru, formülleri hem klasik XLS hem de XLSX çalışma kitaplarında değerlendirir ve şunları destekler:
  • Metin işlevleri (LEFT, MID, TRIM, SUBSTITUTE, …)
  • Tarih ve iş günü işlevleri (DATE, NETWORKDAYS, WORKDAY, …)
  • Mühendislik ve taban dönüştürme işlevleri (BIN2DEC, HEX2DEC, …)
  • Bit düzeyinde işlevler (BITAND, BITOR, BITXOR, …)
  • İstatistik ve toplama işlevleri (AVERAGE, SUMIF, COUNTIFS, …)
  • Matematik işlevleri (ROUND, MOD, POWER, …)
Bir OnUserFunction geri çağrısı, özel veya desteklenmeyen çalışma sayfası işlevlerini çalışma zamanında işlemenizi sağlar. İmza ve örnekler için OnUserFunction geri çağrısı bölümüne bakın
Formula evaluation example

Hücre Biçimlendirme

Hücre görünümü özniteliklerine tam erişim:
  • Yazı tipleri — ad, boyut, renk (RGB veya tema rengi + ton), kalın, italik, alt çizgi, üstü çizili, üst simge, alt simge, gölge ve dış çizgi
  • Hizalama — yatay ve dikey hizalama, metin yönü (açı), girinti düzeyi, metni kaydır, sığdırmak için küçült ve okuma sırası (RTL/LTR)
  • Kenarlıklar — dört kenar ve köşegenler, çizgi stili, kalınlık ve RGB / tema rengi
  • İç alan (dolgu) — düz dolgu, desenli dolgular, ön plan ve arka plan renkleri (TintAndShade içeren tema rengi dahil)
  • Sayı biçimleri — tarih, saat, para birimi, yüzde ve bilimsel gösterim için yerleşik ve özel biçim dizeleri
  • Yorumlar / ek açıklamalar — hücre yorumları ekleme, okuma ve biçimlendirme

Aralık İşlemleri

IXLSRange (klasik cephe) ve TXLSXRange (XLSX cephesi) zengin bir aralık işlemleri kümesi sağlar:
  • Hücreleri birleştirme ve birleşimi kaldırma; herhangi bir hücrenin birleşik alanına erişme
  • Kaydırma yönü kontrolüyle aralıkları kopyalama, taşıma, ekleme ve silme
  • Anahat/gizleme görünümleri için satırları veya sütunları gruplama ve gruplamayı kaldırma
  • Satır yüksekliğini ve sütun genişliğini hücre içeriğine otomatik sığdırma (AutoFit)
  • Yerleşik adlandırılmış hücre stillerini uygulama (ApplyBuiltinStyle)
  • Çok alanlı seçimler (TXLSWorksheet.SelectAreas)
  • Toplu hücre işleme için ForEachCell yineleme geri çağrısı

Çalışma Sayfası Özellikleri

Çalışma sayfası düzeyindeki kontrol şunları kapsar:
  • Sayfa adı, sekme rengi, görünürlük (gizli / çok gizli) ve dizin tabanlı gezinme
  • İzin bazında ayrıntılı sayfa koruması; çalışma kitabı düzeyinde koruma
  • Bölmeleri dondurma, bölme ayırma ve kaydırma konumu
  • Ölçütlü AutoFilter aralıkları; veri doğrulama kurallarını listeleme
  • Koşullu biçimlendirme: renk ölçekleri (2 ve 3 renkli), veri çubukları ve simge kümeleri
  • Bir çalışma sayfasında metin bulma ve metin değiştirme
  • Görünüm seçenekleri: kılavuz çizgisi rengi, formül modunda görüntüleme, sıfırları görüntüleme, başlıkları görüntüleme, sağdan sola görüntüleme, anahat simgelerini görüntüleme ve yakınlaştırma düzeyi
  • Yapılandırılmış tablolar (TXLSTable / TXLSXTable): başlık satırları ve çizgili satırlar içeren Excel tabloları ekleme, erişme ve biçimlendirme
  • Grafikler: TXLSWorksheetsAddChartSheet ile grafik sayfaları ve TXLSXChart ile katıştırılmış grafikler ekleme

Köprüler ve Adlandırılmış Aralıklar

IXLSHyperLinks ile köprüleri (URL, mailto ve çalışma kitabı içi hücre başvuruları) ekleyin ve okuyun. Çalışma kitabı ve çalışma sayfası kapsamındaki adlandırılmış aralıkları IXLSNames / TXLSXDefinedNames ile tanımlayın ve çözümleyin. Adlandırılmış aralıklar formüllerde kullanılabilir ve RefersToRange ile bir hücre aralığına geri çözümlenebilir

Görüntüler ve Şekiller

TXLSShapes.AddPicture / TXLSXWorksheet.AddImage ile raster görüntüleri (BMP, JPG, PNG, GIF) çalışma sayfalarına katıştırın. Klasik XLS'te TXLSShapes.AddTextBox ile bağımsız metin kutuları oluşturun. BIFF8 çizimlerinde Excel tarafından oluşturulan OfficeArt bağlayıcı ve çözücü kurallarını koruyun ve ileri düzey çizim iş akışları için ham şekil FOPT seçeneklerini TXLSShape.OfficeArtOptions üzerinden açığa çıkarın

Sayfa Düzeni ve Yazdırma

IXLSPageSetup ile yazdırma düzenine tam erişim:
  • Kağıt boyutu (A4, Letter, Legal ve daha birçokları; PaperSize bölümüne bakın)
  • Yön (dikey / yatay), kenar boşlukları, yatay / dikey ortala
  • Excel biçimlendirme kodları içeren üst bilgi ve alt bilgi dizeleri (kalın, italik, sayfa numarası, tarih vb.; Üst/Alt bilgi biçimlendirme kodları bölümüne bakın)
  • Elle yatay ve dikey sayfa sonları
  • Sayfalara sığdırma ölçekleme; yakınlaştırma yüzdesi; yazdırma alanı; yazdırma başlıkları (satırları / sütunları tekrarla)
  • Taslak kalitesi; siyah-beyaz; kılavuz çizgilerini yazdır; başlıkları yazdır; notları yazdır

Dışa Aktarma Biçimleri

Tüm çalışma kitaplarını, tek tek çalışma sayfalarını veya rastgele hücre aralıklarını şunlara dışa aktarın:
  • HTML — önizleme veya e-posta iş akışları için tam belge veya satır içi tablo parçası; TXLSHTMLExport ve TXLSXHtmlExportOptions ile kontrol edilebilir
  • RTF — kelime işlemciye içe aktarma için zengin metin
  • CSV — yapılandırılabilir ayraç ve kodlama ile virgülle ayrılmış değerler
  • TSV — sekmeyle ayrılmış değerler
  • ODS — lxHandleX cephesi aracılığıyla OpenDocument Spreadsheet

Veritabanı ve Tablo Dışa Aktarma

TDataSet uyumlu herhangi bir veri kümesini veya bir TDBGrid'i TDataToXLS veya TGridToXLS bileşenlerini kullanarak doğrudan Excel, HTML veya RTF'ye dışa aktarın Her iki bileşen de ayrıntılı çıktı kontrolü için AfterCell, AfterRow, AfterTitle ve AfterGroup olaylarını tetikler ve çok düzeyli gruplama alanlarını destekler

VBA Projesi Korunumu

HotXLS, makro içeren çalışma kitaplarını döndürürken VBA projesi yüklerini korur. Salt okunur modül incelemesi TXLSVBAProject ve TXLSVBAModule aracılığıyla kullanılabilir. Bir yükü algılamak için IXLSWorkbook.HasVBAProject çağrısını ve dosyalar arasında aktarmak için LoadVBAProjectFromFile / SaveVBAProjectToFile çağrılarını kullanın

Unicode ve Uluslararası Metin

Tüm dize işleme Unicode tabanlıdır. HotXLS, CJK, Arapça, İbranice, Tayca ve diğer alfabeler dahil herhangi bir dilde yazılmış Excel dosyalarını, doğru çift yönlü metin ve okuma sırası desteğiyle okur ve yazar
Unicode character support example

Pivot Tablolar (Klasik XLS)

TXLSWorksheet.AddPivotTable ile bir kaynak aralığından pivot tablolar oluşturun, alan yerleşimini ve veri alanı sayı biçimlerini yapılandırın ve TXLSWorksheet.PivotTables ile pivot modelini inceleyin Alan ve filtre ayrıntıları için Klasik XLS pivot tablo API'si bölümüne bakın

Avantajlar

No Office dependency XLS ve XLSX dosyalarını doğrudan ikili düzeyde okur ve yazar. Microsoft Excel veya Office'in kurulu, lisanslı veya çalışır durumda olması gerekmez. Bu, COM/OLE otomasyon yükünü ortadan kaldırır, Office birlikte çalışmasının getirdiği iş parçacığı kısıtlamalarından kaçınır ve masaüstü Office kurulumunun pratik olmadığı sunucu tarafı ve hizmet bağlamlarında HotXLS'in kullanılmasına olanak tanır
High performance BIFF8 ve OOXML ayrıştırıcıları, yoğun yol için ara XML DOM ayırması olmadan yerel Object Pascal ile yazılmıştır. Yüz binlerce satır içeren büyük çalışma kitapları düşük tepe bellek kullanımıyla okunup yazılabilir. Paylaşılan dize yinelenmesini giderme ve paylaşılan formül sıkıştırması, dosya boyutlarını küçük tutmak için otomatik olarak uygulanır
OLE migration path Klasik cephe API yüzeyi (çalışma kitabı, çalışma sayfası, aralık, yazı tipi, kenarlıklar, iç alan, sayfa düzeni) OLE Otomasyonundan bilinen Excel nesne modelini yakından yansıtır. Bu, mevcut OLE tabanlı projelerin geçişini kolaylaştırır: COM çağrılarını HotXLS çağrılarıyla değiştirin, Office bağımlılığını kaldırın ve yerel performans elde edin
Dual-facade design Eski XLS kodu lxHandle üzerinde değişiklik yapılmadan derlenmeye ve çalışmaya devam ederken, yeni XLSX kodu daha zengin lxHandleX cephesini kullanır. Dosya biçiminden tek seferde bir tanesine geçmek güvenli ve kademelidir
Formula engine included Yerleşik çok geçişli hesaplama motoru, Excel'in açılışta yeniden hesaplamasını gerektirmeden en yaygın çalışma sayfası işlevlerini yönetir. Özel işlevler OnUserFunction geri çağrısı üzerinden işlenir
Easy to use Hazır Delphi bileşenleri (TDataToXLS, TGridToXLS) yaygın dışa aktarma görevleri için kod gerektirmez. Akıcı aralık API'si A1 notasyonunu, R1C1 notasyonunu ve sıfır tabanlı satır/sütun dizinlemeyi destekler
Thread-safe file I/O Paylaşılan bir Office süreci olmadığından, birden çok TXLSXWorkbook örneği eşitleme gerektirmeden bağımsız iş parçacıklarında eşzamanlı olarak oluşturulup kaydedilebilir; bu da HotXLS'i çok iş parçacıklı rapor üretim sunucuları için uygun hale getirir

Uyumluluk

HotXLS aşağıdaki RAD Studio sürümleriyle uyumludur:
Delphi XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 Alexandria, 12 Athens, 13 Florence
C++Builder XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 Alexandria, 12 Athens, 13 Florence
Target platforms Windows 32-bit ve 64-bit
Excel file formats XLS (BIFF8, Excel 97–2003), XLSX (OOXML, Excel 2007+), ODS (OpenDocument 1.2)
Export-only formats HTML, RTF, CSV, TSV

Ayrıca Bkz.