Dalam artikel kami sebelumnya, kami membahas detail Apache Poi, API Java open-source untuk bekerja dengan format file Microsoft. Dalam artikel ini, kami akan melalui komponen Apache POI untuk bekerja dengan Excel Workbooks. Kami juga akan menunjukkan cara menggunakan Apache POI untuk membuat file Excel dan menambahkan lembar untuk menggunakan perpustakaan Java ini.
Apache Poi Java API untuk mengakses format file Excel
Apache Poi Java API menyediakan komponen terpisah untuk bekerja dengan dua format file Excel yang berbeda. Ini adalah:
- HSSF (format spreadsheet mengerikan)-untuk bekerja dengan format file Excel 97-2003
- xssf (format spreadsheet xml) - untuk bekerja dengan Excel 2007 dan format file yang lebih baru Secara khusus, hssf memungkinkan Anda membaca file XLS sedangkan xssf memungkinkan Anda membaca xls dan xlsx file. Kedua API ini memungkinkan Anda membuat, membaca, dan memanipulasi file Excel dari dalam aplikasi Java Anda tanpa masuk ke detail format file yang mendasari.
Bagaimana cara membuat file excel xlsx di java?
Dalam contoh ini, kami akan melalui detail menggunakan Apache POI XSSF untuk membuat file XLSX di aplikasi Java kami. Pada tahap ini, kami berasumsi bahwa Anda telah menginstal dan mengkonfigurasi Apache POI API di aplikasi Java Anda. Jika Anda belum melakukannya, Anda dapat mengunjungi Instal Apache Poi untuk Java dan ikuti langkah -langkahnya.
Langkah-langkah untuk Membuat Buku Kerja Excel Menggunakan Apache Poi
Membuat Buku Kerja Excel menggunakan Apache PoI API untuk Java sederhana dan mudah, dan dapat dicapai dengan menggunakan langkah -langkah berikut.
- Buat buku kerja menggunakan XSSFWorkbook Kelas
- Tutup aliran output. Kode Java untuk membuat Buku Kerja Excel menggunakan Apache PoI adalah sebagai berikut.
XSSFWorkbook wb = new XSSFWorkbook();
...
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
wb.write(fileOut);
}
Kode di atas akan membuat buku kerja Excel dalam format file XLSX. Namun, jika Anda akan membuka buku kerja pada tahap ini, Anda akan menerima kesalahan berikut.
Alasan untuk ini adalah bahwa Buku Kerja Excel menggunakan Apache PoI tanpa lembar kerja memberikan kesalahan ini. Untuk menyelesaikan masalah ini, kita perlu menambahkan setidaknya satu lembar kerja ke file Excel yang dihasilkan.
Tambahkan Lembar Kerja ke Excel Workbook dengan Apache Poi di Java
Ini membawa kita ke langkah di mana kita perlu menambahkan lembar kerja ke buku kerja agar dapat bekerja dengan baik. Ini dapat dicapai dengan menggunakan objek XSSFSheet yang ditambahkan ke buku kerja seperti yang ditunjukkan dalam sampel kode berikut.
XSSFWorkbook wb1 = new XSSFWorkbook();
try
{
XSSFSheet sheet1 = wb1.createSheet("Ripon");
FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
wb1.write(fileOut);
fileOut.close();
}
catch(Exception ex)
{
System.out.println("XLSX Generated Error...");
}
Contoh Lengkap XSFWorkBook
Sekarang kita telah melihat cara membuat buku kerja dan menambahkan lembar ke sana dengan Apache Poi API untuk Java, mari kita lihat bagaimana kita akan menambahkan baris dan sel ke lembar kerja yang dibuat. Kelas XSSFSHEET memiliki metode createrow yang memungkinkan Anda menambahkan baris ke lembar. Ini mengembalikan objek kelas baris yang mewakili baris di lembar kerja Excel. Untuk membuat sel di lembar kerja, kita harus menggunakan metode CreateCell yang mengembalikan objek kelas XSSFCELL. Metode setCellValue dari XSSFCell digunakan untuk mengatur nilai sel. Contoh lengkap dari membuat buku kerja menggunakan buku XSSFWork, menambahkan lembar menggunakan XSSFSheet, dan menambahkan XSSFROW ke dalamnya ditunjukkan di bawah ini.
// Blank workbook
XSSFWorkbook workbook = new XSSFWorkbook();
// Creating a blank Excel sheet
XSSFSheet sheet = workbook.createSheet("student Details");
// Creating an empty TreeMap of string and Object][] type
Map<String, Object[]> data = new TreeMap<String, Object[]>();
// Writing data to Object[]
// using put() method
data.put("1", new Object[] { "ID", "CITY", "STATE" });
data.put("2", new Object[] { 1, "Clanton", "Alabama" });
data.put("3", new Object[] { 2, "Cordova", "Alaska" });
data.put("4", new Object[] { 3, "Clifton", "Arizona" });
data.put("5", new Object[] { 4, "Arcadia", "California" });
// Iterating over data and writing it to sheet
Set<String> keyset = data.keySet();
int rownum = 0;
for (String key : keyset) {
// Creating a new row in the sheet
XSSFRow row = sheet.createRow(rownum++);
Object[] objArr = data.get(key);
int cellnum = 0;
for (Object obj : objArr) {
// This line creates a cell in the next column of that row
XSSFCell cell = row.createCell(cellnum++);
if (obj instanceof String)
cell.setCellValue((String)obj);
else if (obj instanceof Integer)
cell.setCellValue((Integer)obj);
}
}
// Writing the workbook
FileOutputStream out = new FileOutputStream("gfgcontribute.xlsx");
workbook.write(out);
// Closing file output connections
out.close();
kesimpulan
Dalam artikel blog ini, kami mendemonstrasikan cara membuat buku kerja Excel menggunakan Apache Poi API untuk Java. Kami menggunakan buku XSSFWork untuk menghasilkan buku kerja XLSX, menambahkan lembar kerja ke dalamnya, menambahkan baris ke lembar kerja, dan data yang diisi dalam sel dalam lembar kerja. Untuk lebih banyak contoh bekerja dengan Buku Kerja Excel menggunakan Apache Poi untuk Java, tetaplah disini.