Hem JXL (şimdi "JExcel") hem de Apache POI kullandım . İlk başta JXL kullandım ama şimdi Apache POI kullanıyorum.
İlk olarak, her iki API'nin aynı son işlevselliğe sahip olduğu şeyler şunlardır:
- İkisi de bedava
- Hücre stili: hizalama, arka planlar (renkler ve desenler), kenarlıklar (türler ve renkler), yazı tipi desteği (yazı tipi adları, renkler, boyut, kalın, italik, üstü çizili, altı çizili)
- Formüller
- Köprüler
- Birleştirilmiş hücre bölgeleri
- Satırların ve sütunların boyutu
- Veri biçimlendirme: Sayılar ve Tarihler
- Hücreler içinde metin kaydırma
- Donma bölmeleri
- Üstbilgi / Altbilgi desteği
- Mevcut ve yeni e-tabloları okuyun / yazın
- Her ikisi de, okudukları elektronik tablolardaki mevcut nesneleri olabildiğince bozulmadan tutmaya çalışır.
Bununla birlikte, birçok farklılık vardır:
- Belki de en önemli fark, Java JXL'in Excel 2007+ ".xlsx" biçimini desteklememesidir; yalnızca eski BIFF (ikili) ".xls" biçimini destekler. Apache POI, ortak bir tasarımla her ikisini de destekler.
- Ek olarak, bir C # API varmış gibi görünse de, JXL API'nin Java kısmı en son 2009'da güncellendi (3 yıl, 4 ay önce bunu yazarken). Apache POI aktif olarak korunur.
- JXL Koşullu Biçimlendirmeyi desteklemez, Apache POI bunu destekler, ancak bu o kadar önemli değildir, çünkü hücreleri koşullu olarak kendi kodunuzla biçimlendirebilirsiniz.
- JXL zengin metin biçimlendirmesini, yani bir metin dizesi içinde farklı biçimlendirmeyi desteklemez ; Apache POI bunu destekliyor.
- JXL yalnızca belirli metin döndürmelerini destekler: yatay / dikey, +/- 45 derece ve yığınlanmış; Apache POI herhangi bir tamsayı derece artı yığılmış dereceyi destekler.
- JXL çizim şekillerini desteklemez; Apache POI yapar.
- JXL, Yatay / Dikey, Kenar Boşlukları, Kağıt boyutu ve Yakınlaştırma gibi çoğu Sayfa Yapısı ayarını destekler. Apache POI, tüm bunların yanı sıra Yinelenen Satırları ve Sütunları destekler.
- JXL, Bölünmüş Bölmeleri desteklemez; Apache POI yapar.
- JXL, Grafik oluşturmayı veya değiştirmeyi desteklemez; bu destek Apache POI'de henüz yok, ancak bir API yavaş yavaş oluşmaya başlıyor.
- Apache POI, JXL'den daha kapsamlı bir dokümantasyon ve örnekler setine sahiptir.
Ek olarak, POI yalnızca ana "kullanıcı modeli" API'sini değil, aynı zamanda tek yapmak istediğiniz elektronik tablo içeriğini okumaksa olay tabanlı bir API'yi de içerir.
Sonuç olarak, daha iyi dokümantasyon, daha fazla özellik, aktif geliştirme ve Excel 2007+ format desteği nedeniyle Apache POI kullanıyorum.