Excel XLS Dosyalarını Okumak İçin Açık Kaynak C Kütüphanesi
Microsoft Excel gerektirmeden Excel XLS dosyalarından veri yükleme, okuma ve çıkarma için hafif ve hızlı bir açık kaynaklı ücretsiz C kütüphanesi.
libxls nedir?
Microsoft Excel dosyalarıyla çalışmak, birçok yazılım uygulamasında yaygın bir gereksinimdir. Modern elektronik tablolar XLSX formatını kullanırken, sayısız kuruluş hâlâ eski XLS dosyalarına güvenmektedir. Bu dosyalardan veri okumak ve çıkarmak, ikili XLS formatı özel ve karmaşık olduğu için zorlayıcı olabilir. libxls, bu görevi basitleştirmek için özel olarak tasarlanmış açık kaynaklı bir C kütüphanesidir. Microsoft Excel veya herhangi bir dış Office bileşeni gerektirmeden, Excel 97–2003 XLS dosyalarını hızlı ve hafif bir şekilde okumak için bir çözüm sunar.
libxls, geliştiricilerin Microsoft Excel XLS elektronik tablolarını okumasını ve bilgiler çıkarmasını sağlayan taşınabilir bir C kütüphanesidir. Excel 97–2003 (.xls) dosyalarını, birden fazla çalışma sayfasını, hücre değerlerini ve biçimlendirme bilgilerini, unicode metni, tarih ve sayı çıkarımını, çapraz platform geliştirmeyi ve daha fazlasını destekler. Ofis otomasyon yaklaşımlarının aksine, libxls Microsoft Office'den bağımsız çalışır, bu da Linux, macOS, Windows ve gömülü ortamlar için uygun olmasını sağlar. Basitliği, taşınabilirliği ve performansı sayesinde libxls, veri taşıma araçları, elektronik tablo dönüştürücüleri, raporlama uygulamaları ve çapraz platform yazılım projelerinde yaygın olarak kullanılır.
libxls ile Başlarken
libxls, kütüphaneyi derlemek ve kurmak için CMake'i destekler. Lütfen aşağıdaki komutu kullanın.
libxls'i CRAN üzerinden Kurun
mkdir build
cd build
cmake ..
make
libxls kaynak kod deposunu GitHub'dan klonlayın. Lütfen aşağıdaki kodu kullanın.
libxls'i GitHub üzerinden Kurun
git clone https://github.com/libxls/libxls.git
# Or use your preferred protocol instead of https C Kütüphanesi ile Eski Excel XLS Dosyalarını Okuma
libxls'in en büyük güçlü yönlerinden biri, Excel 97–2003 ikili XLS dosyalarını ayrıştırma yeteneğidir. Kütüphane, bu elektronik tabloların iç yapısını anlar ve uygulamaların Microsoft Excel gerektirmeden satır, sütun ve hücre değerlerine erişmesini sağlar. Bu yetenek, hâlâ XLS formatında tarihsel verileri arşivleyen kuruluşlar için özellikle faydalıdır. Geliştiriciler, içe aktarma araçlarını kolayca oluşturabilir ve eski belgelerle uyumluluğu koruyarak veri çıkarma süreçlerini otomatikleştirebilir. Aşağıdaki örnek, UTF-8 kodlaması kullanarak bir Excel XLS çalışma kitabını açar. Çalışma kitabı yüklendikten sonra, geliştiriciler çalışma sayfalarına erişebilir ve elektronik tablo verilerini çıkarabilir.
C Kütüphanesi ile Excel XLS Dosyalarını Okuma
#include
int main()
{
xlsWorkBook *workbook;
workbook = xls_open("sample.xls", "UTF-8");
if(workbook)
{
printf("Workbook opened successfully\n");
xls_close_WB(workbook);
}
return 0;
}
C Kütüphanesi ile Birden Çok Çalışma Sayfasına Erişim
Birçok Excel dosyası, bilgiyi farklı bölümlere düzenleyen birden fazla çalışma sayfası içerir. libxls, her çalışma sayfasına bağımsız olarak gezinmek ve okumak için API'ler sağlar. Bu özellik, finansal raporlar, faturalar, envanter sayfaları veya bilimsel veri setleri işlenirken faydalıdır. Geliştiriciler, tüm sayfalar üzerinde döngü yaparak bilgiyi kullanıcı müdahalesi olmadan otomatik olarak çıkarabilir. Aşağıdaki kod, bir çalışma kitabını açar ve dosyada mevcut olan toplam çalışma sayfası sayısını alır.
C ile XLS Dosyasındaki Toplam Çalışma Sayfası Sayısını Nasıl Alırsınız?
#include
int main()
{
xlsWorkBook *wb = xls_open("report.xls", "UTF-8");
if(wb)
{
printf("Number of sheets: %d\n", wb->sheets.count);
xls_close_WB(wb);
}
return 0;
}
C Kütüphanesi ile Hücre Değerlerini Okuma
Açık kaynak libxls, uygulamaların bireysel hücrelere erişmesini ve içeriklerini almasını sağlar. Elektronik tablo metin, sayı ya da tarih içeriyor olsun, kütüphane hücre bilgilerine doğrudan erişim sunar. Bu yetenek, libxls'in elektronik tablo verilerini veritabanlarına aktarmak, raporlar oluşturmak veya Excel belgelerini CSV ve JSON formatlarına dönüştürmek için uygun olmasını sağlar. Aşağıdaki kod örneği, çalışma sayfasındaki ilk hücreyi okur ve değerini konsola yazdırır.
C Kütüphanesi ile Çalışma Sayfası Hücrelerine Nasıl Erişilir ve Değeri Nasıl Yazdırılır?
#include
int main()
{
xlsWorkBook *wb = xls_open("sample.xls", "UTF-8");
if(wb)
{
xlsWorkSheet *sheet = xls_getWorkSheet(wb, 0);
xls_parseWorkSheet(sheet);
xlsCell *cell = xls_cell(sheet, 0, 0);
if(cell)
printf("Cell value: %s\n", cell->str);
xls_close_WS(sheet);
xls_close_WB(wb);
}
return 0;
}
Unicode ve Karakter Kodlaması Desteği
Modern uygulamalar sıklıkla çok dilli elektronik tablolarla çalışır. libxls, yapılandırılabilir karakter kodlamaları aracılığıyla Unicode metni destekler ve böylece uluslararası diller ve özel karakterler içeren dosyaların işlenmesini mümkün kılar. Bu özellik, müşteri adları, adresler ve farklı dillerde raporlar işleyen iş uygulamaları için özellikle faydalıdır. UTF-8 kodlaması belirtilerek, kütüphane aşağıdaki kod örneğinde gösterildiği gibi Excel dosyalarında depolanan Unicode metni doğru şekilde yorumlar.
C ile Excel dosyalarında Depolanan Unicode Metni Nasıl Yorumlanır?
xlsWorkBook *wb = xls_open("employees.xls", "UTF-8");
if(wb)
{
printf("Workbook loaded using UTF-8 encoding\n");
}