Genel bakış
![]() |
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

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:
TXLSWorksheetsAddChartSheetile grafik sayfaları veTXLSXChartile 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ı;
TXLSHTMLExportveTXLSXHtmlExportOptionsile 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 —
lxHandleXcephesi 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

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.
- XLSX Cephesine Genel Bakış (lxHandleX) — tam sınıf hiyerarşisi ve XLSX/ODS'ye özgü API üyeleri
- API Turu Demosu — HotXLS'i sıfırdan öğrenirken çalıştırılacak ilk demo
- IXLSWorkbook — klasik XLS arayüzü çalışma kitabı başvurusu
- TXLSWorksheet — klasik XLS sınıfı çalışma sayfası başvurusu
- IXLSRange — arayüz aralığı: hücre erişimi, biçimlendirme ve işlemler
- TXLSXWorkbook — XLSX sınıfı çalışma kitabı başvurusu
- TXLSXWorksheet — XLSX sınıfı çalışma sayfası başvurusu
- TGridToXLS — hazır DBGrid'den Excel'e dışa aktarma bileşeni
- TDataToXLS — hazır veri kümesinden Excel'e dışa aktarma bileşeni
- OnUserFunction geri çağrısı — özel çalışma sayfası işlevi genişletme noktası
- Klasik XLS renk modeli — palet tabanlı renk ve tema rengi tasarım gerekçesi
- Ek klasik XLS API üyeleri — hesaplama özellikleri, belge özellikleri, pivot tablolar ve daha fazlası
- Örnekler — örnek projelere genel bakış
- Satın Alma Siparişi Örneği — kaynak kodlu, tam özellikli XLS oluşturma örneği
