Unggul di Excel dengan Java

Apakah Anda memiliki neraca, unduhan informasi akun, penghitungan pajak, atau slip gaji, semuanya cenderung datang dalam Microsoft Excel. Profesional non-IT merasa nyaman menggunakan Microsoft Excel sebagai teknologi pertukaran data. Jakarta POI (Poor Obfuscation Implementation) API adalah cara yang luar biasa bagi programmer Java untuk mengakses format dokumen Microsoft. API yang paling matang dari POI Jakarta adalah HSSF (Horrible Spreadsheet Format) API, yang mengakses dokumen Microsoft Excel.

Dalam artikel ini, saya memandu Anda melalui langkah-langkah untuk membuat dan membaca dokumen Excel, dan untuk menggunakan font dan gaya sel — semuanya menggunakan Java.

Catatan: Anda dapat mengunduh kode sumber untuk semua contoh dalam artikel ini dari Sumber.

Terminologi POI

Istilah kunci yang terkait dengan POI Jakarta adalah sebagai berikut:

  • POIFS (Sistem File Implementasi Obfuscation Buruk): Java API untuk membaca dan menulis OLE (Object Linking and Embedding) 2 format dokumen gabungan
  • HSSF (Format Spreadsheet Mengerikan): Java API untuk membaca Microsoft Excel
  • HDF (Horrible Document Format): Java API untuk membaca dan menulis Microsoft Word 97
  • HPSF (Horrible Property Set Format): Java API untuk membaca set properti menggunakan (hanya) Java

Buat dokumen Excel

Jakarta POI API dapat digunakan untuk membuat dokumen Excel secara terprogram. Langkah-langkah penting yang terlibat adalah:

  • Buat buku kerja: HSSFWorkbook workbook = new HSSFWorkbook();
  • Buat lembar kerja baru di buku kerja dan beri nama lembar kerja "Java Excels": HSSFSheet sheet = workbook.createSheet("Java Excels");
  • Buat baris baru di lembar: HSSFRow row = sheet.createRow((short)0);
  • Buat sel di baris: HSSFCell cell = row.createCell((short) 0);
  • Taruh beberapa konten di dalam sel: cell.setCellValue("Have a Cup of XL");
  • Tulis buku kerja ke dalam sistem file: workbook.write(fileOutputStream);

Membaca data dari dokumen Excel

Dalam contoh ini, Anda akan melihat cara membaca nilai dari dokumen Excel.

Mari kita asumsikan ini adalah lembar Excel kita:

nama karyawan Spesialisasi Penunjukan
Anbu Pemrograman Programmer Senior
Jason Industri perbankan Analis Bisnis
Ramesh Database DBA
MackyB Akuntansi Kepala Pengiriman

Langkah-langkah kunci dalam membaca lembar Excel adalah sebagai berikut:

  • Membuat referensi dokumen Excel baru: HSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));.
  • Mengacu pada lembaran: Secara default, lembar pertama dalam dokumen Excel adalah pada referensi 0: HSSFSheet sheet = workbook.getSheetAt(0);. Sheet juga bisa disebut dengan nama. Mari kita asumsikan bahwa lembar Excel memiliki nama default "Sheet1". Hal ini dapat disebut sebagai berikut: HSSFSheet sheet = workbook.getSheet("Sheet1");.
  • Mengacu berturut-turut: HSSFRow row = sheet.getRow(0);.
  • Merujuk ke sel di baris: HSSFCell cell = row.getCell((short)0);.
  • Mendapatkan nilai-nilai dalam sel itu: cell.getStringCellValue();.

Contoh praktis

Sekarang mari kita asumsikan bahwa kita ingin melihat daftar semua metode yang dideklarasikan dan variabel anggota dalam file jar. Idealnya adalah memiliki daftar gabungan semua informasi dalam satu file. Kami ingin melihat informasi sehingga nama kelas ada di kolom pertama, bidang yang dideklarasikan di kolom kedua, dan metode yang dideklarasikan di kolom ketiga, dengan judul kolom muncul dengan warna merah.

Program harus menyelesaikan kegiatan berikut:

  • Buka zip file jar
  • Baca semua file kelas di file jar
  • Muat kelas dalam file jar
  • Menggunakan refleksi, dapatkan metode dan kolom yang dideklarasikan
  • Tulis informasi kelas ke dalam lembar Excel menggunakan Jakarta POI

Mari kita berkonsentrasi hanya pada langkah-langkah menarik penggunaan POI Jakarta:

  • Buat dokumen Excel baru: workbook = new HSSFWorkbook();
  • Buat lembar kerja di dokumen itu dan beri nama lembar kerja itu: sheet = workbook.createSheet("Java Class Info");
  • Tetapkan lebar tiga kolom pertama: sheet.setColumnWidth((short)0,(short)10000 );
  • Buat baris header: HSSFRow row = sheet.createRow((short)0);
  • Buat dan setel font dan gaya sel:
    HSSFFont font = workbook.createFont (); font.setColor (HSSFFont.COLOR_RED); font.setBoldweight (HSSFFont.BOLDWEIGHT_BOLD); // Buat gaya HSSFCellStyle cellStyle = workbook.createCellStyle (); cellStyle.setFont (font);
  • Gunakan gaya sel:
    Sel HSSFCell = row.createCell ((pendek) 0); cell.setCellStyle (cellStyle); cell.setCellType (HSSFCell.CELL_TYPE_STRING); cell.setCellValue ("Nama Kelas");
  • Tulis file keluaran:
    FileOutputStream fOut = FileOutputStream baru (outputFile); // Menulis lembar kerja lembar Excel.write (fOut); fOut.flush (); // Selesai kesepakatan. Tutup itu. fOut.close ();

Ringkasan

Seperti yang diperlihatkan dalam artikel ini, pengembang Java tidak perlu lagi mengernyit pada data di lembar Excel. Kami dapat mengakses dokumen Excel secara terprogram. Nikmati secangkir Java, dan kuasai Excel!

Elango Sundaram adalah programmer Java berpengalaman dengan minat penelitian dalam arsitektur komputasi terdistribusi, teknologi berbasis agen, dan metodologi berorientasi objek. Dia memegang gelar master dalam ilmu komputer dari Virginia Tech University dan telah menulis komputasi Terdistribusi menggunakan Jini dan Tail Plug-in Pengembang Aplikasi Websphere Studio (untuk WSAD 4.0).

Pelajari lebih lanjut tentang topik ini

  • Unduh kode sumber yang menyertai artikel ini

    //images.techhive.com/downloads/idge/imported/article/jvw/2004/03/jw-0322-poi.zip

  • Situs POI Jakarta

    //jakarta.apache.org/poi/

  • Untuk informasi lebih lanjut tentang POI, baca "Itu POI-fect," Tony Sintes ( JavaWorld, Mei 2002)

    //www.javaworld.com/javaworld/javaqa/2002-05/01-qa-0503-excel3.html

  • Untuk alat Java lainnya, telusuri bagian Alat Pengembangan dari Indeks Topikal JavaWorld

    //www.javaworld.com/channel_content/jw-tools-index.shtml

  • Untuk artikel lebih lanjut tentang alat open source, lihat kolom Profil Sumber Terbuka Erik Swenson

    //www.javaworld.com/columns/jw-opensource-index.shtml

Artikel berjudul "Excelling in Excel with Java" ini awalnya diterbitkan oleh JavaWorld.