Rumah  >  Artikel  >  Java  >  Menggunakan Apache POI2 untuk pemprosesan Excel dalam pembangunan API Java

Menggunakan Apache POI2 untuk pemprosesan Excel dalam pembangunan API Java

PHPz
PHPzasal
2023-06-18 08:39:091406semak imbas

Dengan perkembangan pesat teknologi moden, pemprosesan data telah menjadi bahagian yang amat diperlukan dalam masyarakat moden. Terutamanya dalam perniagaan, fail Excel adalah alat yang digunakan secara meluas untuk merekod dan menganalisis data. Walau bagaimanapun, mengedit dan memproses secara manual sejumlah besar fail Excel selalunya boleh memakan masa dan terdedah kepada ralat. Oleh itu, menggunakan Java API untuk memproses fail Excel ialah penyelesaian yang lebih cekap dan boleh dipercayai. Apache POI2, sebagai API Java yang popular, menyediakan sokongan untuk membaca dan menulis fail Microsoft Office dan merupakan alat pemprosesan fail Excel pilihan untuk pembangun Java.

Artikel ini akan membincangkan penggunaan asas Apache POI2 dan beberapa operasi biasa untuk memproses fail Excel.

Apa itu Apache POI2

Apache POI2 ialah set API Java yang disediakan oleh organisasi Apache untuk memproses fail Microsoft Office Ia menyokong operasi membaca dan menulis pada fail Excel, Word dan PowerPoint. Tujuan Apache POI2 adalah untuk menyediakan antara muka yang ringkas dan mudah digunakan yang membolehkan pengaturcara membaca dan menulis fail Microsoft Office tanpa mengetahui butiran format fail.

Fungsi utama Apache POI2 termasuk:

  • Membaca dan menulis fail Excel, Word dan PowerPoint;
  • Memproses sel, baris dan lajur fail dan buku kerja Excel ;
  • menyokong jenis data seperti tarikh, nombor dan rentetan dalam fail Excel
  • menyokong formula, imej, carta, dll.

Pasang dan konfigurasikan Apache POI2

Sebelum menggunakan Apache POI2, anda perlu memasang dan mengkonfigurasinya. Versi terbaru Apache POI2 boleh dimuat turun dari laman web rasmi. Setelah dimuat turun, cuma tambahkan fail balang Apache POI2 pada laluan kelas projek anda untuk bermula.

Penggunaan asas

Dalam Apache POI2, fail Excel diwakili sebagai buku kerja (Buku Kerja) dan setiap buku kerja mengandungi berbilang lembaran kerja (Helaian). Setiap lembaran kerja mengandungi berbilang sel (Sel) dan setiap sel boleh mengandungi jenis data, seperti nombor, rentetan atau tarikh.

Pertama, sebelum menggunakan Apache POI2, anda perlu memperkenalkan pakej yang berkaitan:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;

Seterusnya, buat buku kerja baharu:

Workbook workbook = new HSSFWorkbook();  // 创建一个新的 Excel 工作簿
Sheet sheet = workbook.createSheet("Sheet1");  // 创建一个新的工作表
Row row = sheet.createRow(0);  // 创建第一行
Cell cell = row.createCell(0);  // 创建第一个单元格
cell.setCellValue("Hello World");  // 设置单元格的值

Dalam kod di atas, Kami mencipta buku kerja, helaian, baris dan sel baharu dan tetapkan rentetan "Hello World" sebagai nilai sel pertama. Kelas HSSFWorkbook digunakan di sini untuk mencipta buku kerja Excel baharu. Untuk Excel 2007 dan ke atas, anda boleh menggunakan kelas XSSFWorkbook.

Seterusnya, tulis buku kerja pada fail:

FileOutputStream outputStream = new FileOutputStream("example.xls");
workbook.write(outputStream);
workbook.close();

Dalam kod di atas, kami menulis buku kerja pada fail bernama "example.xls" dan Tutup buku kerja apabila selesai.

Kini, kami telah mencipta fail Excel yang ringkas. Seterusnya, kami akan membincangkan cara membaca dan mengubah suai fail Excel sedia ada.

Membaca Fail Excel

Dalam Apache POI2, fail Excel boleh dibaca dengan cara yang berbeza. Kaedah yang paling biasa ialah menggunakan kelas FileInputStream untuk membaca fail ke dalam ingatan.

FileInputStream inputStream = new FileInputStream(new File("example.xls"));
Workbook workbook = new HSSFWorkbook(inputStream);  // 创建一个新的工作簿对象
Sheet sheet = workbook.getSheetAt(0);  // 获取第一个工作表
Row row = sheet.getRow(0);  // 获取第一行
Cell cell = row.getCell(0);  // 获取第一个单元格
String value = cell.getStringCellValue();  // 获取单元格的值

Dalam kod di atas, kami menggunakan kelas FileInputStream untuk membaca fail Excel ke dalam memori dan menggunakan kelas HSSFWorkbook untuk menukarnya menjadi objek buku kerja. Seterusnya, kita mendapat helaian pertama, baris pertama dan sel pertama, dan pada baris terakhir kita mendapat nilai rentetan dalam sel.

Ubah suai fail Excel

Selain menetapkan nilai sel pada masa penciptaan, kami juga boleh menggunakan Apache POI2 untuk mengubah suai sel sedia ada.

FileInputStream inputStream = new FileInputStream(new File("example.xls"));
Workbook workbook = new HSSFWorkbook(inputStream);  // 创建一个新的工作簿对象
Sheet sheet = workbook.getSheetAt(0);  // 获取第一个工作表
Row row = sheet.getRow(0);  // 获取第一行
Cell cell = row.getCell(0);
cell.setCellValue("New Value");  // 设置单元格的新值
FileOutputStream outputStream = new FileOutputStream("example.xls");
workbook.write(outputStream);  // 将修改后的工作簿写入文件
workbook.close();

Dalam kod di atas, kami menggunakan kelas FileInputStream dan HSSFWorkbook untuk mencipta objek buku kerja dan membaca lembaran kerja pertama, baris pertama dan sel pertama. Seterusnya, gunakan kaedah setCellValue() untuk menetapkan nilai sel kepada "Nilai Baharu". Akhir sekali, gunakan kelas FileOutputStream dan Buku Kerja untuk menulis buku kerja yang diubah suai pada fail.

Ringkasan

Apache POI2 ialah API Java berkuasa yang menyediakan fungsi yang kaya untuk membaca, menulis dan mengendalikan fail Excel. Artikel ini memperkenalkan penggunaan asas Apache POI2 dan operasi pemprosesan fail Excel biasa. Malah, Apache POI2 boleh melakukan operasi yang lebih maju, seperti menggabungkan dan membelah sel, melukis carta, memformat sel dan banyak lagi. Menggunakan Apache POI2, pembangun Java boleh membaca, menulis dan memproses fail Excel dengan mudah, meningkatkan produktiviti dan mengurangkan ralat manual.

Atas ialah kandungan terperinci Menggunakan Apache POI2 untuk pemprosesan Excel dalam pembangunan API Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn