Kemampuan formula Microsoft Excel yang kuat sangat penting untuk melakukan perhitungan yang kompleks, analisis data, dan membuat laporan dinamis. Tetapi bagaimana jika Anda dapat mengotomatiskan operasi formula ini menggunakan perpustakaan Java? Di situlah Apache Poi berperan. Dalam posting blog ini, kami akan menunjukkan cara menggunakan perpustakaan Apache POI untuk menghitung rumus Excel dari dalam aplikasi Java Anda dan menyimpan buku kerja sebagai file XLSX.

Memahami formula dan perhitungan

Rumus berada di jantung fungsionalitas Excel. Mereka memungkinkan Anda untuk melakukan operasi matematika, memanipulasi data, dan menciptakan hubungan antara sel yang berbeda. Apache PoI memberdayakan pengembang Java untuk menghasilkan dan memanipulasi formula ini secara terprogram, memungkinkan otomatisasi dan kustomisasi.

Menyiapkan proyek Anda

Sebelum kita menyelami rumus spesifik, mari kita buat proyek kita untuk bekerja dengan Apache Poi. Anda harus memasukkan perpustakaan POI yang sesuai dalam proyek Java Anda. Anda dapat mengunduh perpustakaan dari situs web Apache POI atau menambahkannya melalui alat manajemen ketergantungan seperti Maven atau Gradle. Periksa artikel [Apache POI API API] kami 2 untuk informasi lebih lanjut tentang pengaturan lingkungan pengembangan untuk proyek Anda.

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.0.1</version>
</dependency>

Membuat rumus dasar

Mari kita mulai dengan contoh sederhana. Bayangkan Anda memiliki lembar Excel dengan dua kolom yang berisi angka. Anda ingin menghitung jumlah angka -angka ini di kolom ketiga. Inilah cara Anda dapat mencapai ini menggunakan Apache Poi:

Impor kelas yang diperlukan

Mulailah dengan mengimpor kelas yang diperlukan dari perpustakaan Apache POI, seperti buku kerja, lembar, dan baris.

Akses sel yang diinginkan

Gunakan metode getCell () untuk mengakses sel yang berisi angka yang ingin Anda singkirkan.

Buat formula

Memanfaatkan metode createFormula () untuk menghasilkan rumus. Dalam hal ini, itu akan menjadi sesuatu seperti SUM (A2: B2).

Atur formula ke sel target

Tetapkan rumus ke sel tempat Anda ingin hasilnya muncul menggunakan metode setCellFormula ().

Evaluasi formula

Setelah mengatur rumus, gunakan metode evalateFormulacell () untuk menghitung dan mengisi hasilnya.

Rumus Excel Menggunakan Perpustakaan Apache Poi Java

Mari kita lihat sampel kode berikut yang menggunakan:

  • Tambahkan Rumus untuk menambahkan dua nilai dalam sel
  • Power Rumus untuk menghitung kekuatan nilai dalam sel
  • MAX Formula untuk mendapatkan nilai maksimum sel
  • Fakta Formula untuk menghitung faktorial nilai dalam sel
  • SQRT Rumus untuk menghitung akar kuadrat dari suatu nilai dalam sel Sampel kode berikut menunjukkan penggunaan rumus Excel ini dari dalam aplikasi Java Anda.
XSSFWorkbook wb = new XSSFWorkbook(); 
XSSFSheet spreadsheet = wb("formula");
XSSFRow row = spreadsheet.createRow(1);
XSSFCell cell = row.createCell(1);
cell.setCellValue("A = ");
cell = row.createCell(2);
cell.setCellValue(2);
row = spreadsheet.createRow(2);
cell = row.createCell(1);
cell.setCellValue("B = ");
cell = row.createCell(2);
cell.setCellValue(4);
row = spreadsheet.createRow(3);
cell = row.createCell(1);
cell.setCellValue("Total = ");
cell = row.createCell(2);
// Create SUM formula
cell.setCellFormula("SUM(C2:C3)");
cell = row.createCell(3);
cell.setCellValue("SUM(C2:C3)");
row = spreadsheet.createRow(4);
cell = row.createCell(1);
cell.setCellValue("POWER =");
cell=row.createCell(2);
// Create POWER formula
cell.setCellFormula("POWER(C2,C3)");
cell = row.createCell(3);
cell.setCellValue("POWER(C2,C3)");
row = spreadsheet.createRow(5);
cell = row.createCell(1);
cell.setCellValue("MAX = ");
cell = row.createCell(2);
// Create MAX formula
cell.setCellFormula("MAX(C2,C3)");
cell = row.createCell(3);
cell.setCellValue("MAX(C2,C3)");
row = spreadsheet.createRow(6);
cell = row.createCell(1);
cell.setCellValue("FACT = ");
cell = row.createCell(2);
// Create FACT formula
cell.setCellFormula("FACT(C3)");
cell = row.createCell(3);
cell.setCellValue("FACT(C3)");
row = spreadsheet.createRow(7);
cell = row.createCell(1);
cell.setCellValue("SQRT = ");
cell = row.createCell(2);
// Create SQRT formula
cell.setCellFormula("SQRT(C5)");
cell = row.createCell(3);
cell.setCellValue("SQRT(C5)");
wb.getCreationHelper().createFormulaEvaluator().evaluateAll();
FileOutputStream out = new FileOutputStream("formula.xlsx");
wb.write(out);
out.close();
System.out.println("fromula.xlsx written successfully");

kesimpulan

Apache POI membuka potensi untuk mengotomatisasi dan menyesuaikan rumus Excel dan perhitungan melalui kode Java. Baik Anda membangun laporan keuangan, alat analisis data, atau aplikasi apa pun yang melibatkan manipulasi Excel, kemampuan formula Apache POI adalah tambahan yang kuat untuk toolkit Anda. Dengan memahami cara membuat, mengevaluasi, dan mengelola rumus menggunakan Apache POI, Anda dapat merampingkan alur kerja Anda, meningkatkan akurasi, dan menghemat waktu yang berharga.