Manakah dari 2 API yang lebih sederhana untuk membaca / menulis / mengedit lembar excel? Apakah API ini tidak mendukung ekstensi CSV?
Menggunakan JXL untuk file.xls dan file.xlsx, saya mendapatkan pengecualian seperti:
jxl.read.biff.BiffException: Unable to recognize OLE stream
at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116)
at jxl.read.biff.File.<init>(File.java:127)
at jxl.Workbook.getWorkbook(Workbook.java:268)
at core.ReadXLSheet.contentReading(ReadXLSheet.java:46)
at core.ReadXLSheet.init(ReadXLSheet.java:22)
at core.ReadXLSheet.main(ReadXLSheet.java:72)
Baik untuk ekstensi .xls dan .xlsx. Versi Java yang saya gunakan adalah: JDK1.6
java
excel
apache-poi
jxl
Swagatika
sumber
sumber
Jawaban:
Saya telah menggunakan JXL (sekarang "JExcel") dan Apache POI . Awalnya saya menggunakan JXL, tapi sekarang saya menggunakan Apache POI.
Pertama, berikut adalah hal-hal di mana kedua API memiliki fungsi akhir yang sama:
Namun, ada banyak perbedaan:
Selain itu, POI tidak hanya berisi API "model pengguna" utama, tetapi juga API berbasis peristiwa jika Anda hanya ingin membaca konten spreadsheet.
Kesimpulannya, karena dokumentasi yang lebih baik, lebih banyak fitur, pengembangan aktif, dan dukungan format Excel 2007+, saya menggunakan Apache POI.
sumber
getContents()
metode kotor di JExcelAPI menghemat banyak waktu saya. Dengan POI, Anda harus memeriksa jenis selnya, lalu mendapatkan nilainya (jika itu sel Numerik, Anda perlu memeriksa apakah itu sel Tanggal) sesuai dengan jenisnya, dan akhirnya mengubahnya menjadi nilai String dengan metode berbeda, itu sangat merepotkan. Tidak dapat membayangkan POI tidak menyediakan metode yang kotor tapi nyaman seperti yang dilakukan JExcelAPI.Saya telah menggunakan POI.
Jika Anda menggunakannya, perhatikan pemformat sel tersebut: buat satu dan gunakan beberapa kali alih-alih membuat setiap kali untuk sel, itu adalah perbedaan konsumsi memori yang besar atau data yang besar.
sumber
Saya tidak terbiasa dengan JXL dan tetapi kami menggunakan POI. POI terpelihara dengan baik dan dapat menangani format biner .xls dan format berbasis xml baru yang diperkenalkan di Office 2007.
File CSV bukanlah file excel, mereka adalah file berbasis teks, jadi perpustakaan ini tidak membacanya. Anda perlu mengurai sendiri file CSV. Saya tidak mengetahui pustaka file CSV apa pun, tetapi saya juga belum melihatnya.
sumber
Untuk membaca file CSV "biasa" di Java, ada pustaka bernama OpenCSV, tersedia di sini: http://opencsv.sourceforge.net/
sumber