Jika Anda adalah pengembang aplikasi Java yang bekerja dengan Excel dari dalam aplikasi Java Anda, Anda akan tertarik untuk menyediakan fungsionalitas memanipulasi data Excel dalam aplikasi Anda. Excel memungkinkan Anda memformat gaya sel, mengatur jenis sel ke tipe data yang berbeda, mengisi sel dengan warna yang berbeda, dan sebagainya. Apache PoI berfungsi sebagai jembatan Anda antara Java dan Excel, menawarkan alat untuk memanipulasi excel file XLSX secara terprogram. Dalam seri blog ini, kami akan mengungkap seni manipulasi sel Excel menggunakan Apache Poi di Java. Mari selami dan temukan sinergi kode dan spreadsheet!
DAFTAR ISI
Di seluruh blog, kami akan melalui sampel kode dan penjelasan yang sama untuk yang berikut:
- Membuat sel dalam file Excel
- Buat sel tanggal di Excel
- Bekerja dengan berbagai jenis sel
- Mengatur Penampilan Sel
Bekerja dengan sel dalam file excel di java
Membuat sel di file excel
//Create Cells
XSSFWorkbook wb = new XSSFWorkbook();
XSSFCreationHelper createHelper = wb.getCreationHelper();
XSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
Row row = sheet.createRow(0);
// Create a cell and put a value in it.
Cell cell = row.createCell(0);
cell.setCellValue(1);
row.createCell(1).setCellValue(1.2);
row.createCell(2).setCellValue(createHelper.createRichTextString("This is a string"));
row.createCell(3).setCellValue(true);
// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
wb.write(fileOut);
}
Cuplikan kode Java di atas menunjukkan penggunaan Apache POI API untuk bekerja dengan sel di buku kerja Excel. Kode ini membuat buku kerja Excel baru (\ **XSSFWorkbook** \
), menginisialisasi lembar dalam buku kerja, dan kemudian mengisi sel dengan berbagai jenis data. Pertama, kode membuat lembar baru bernama " lembar baru “. Kemudian menghasilkan baris pada indeks 0 pada lembar dan mulai mengisi sel -sel di dalam baris itu. Sel pertama (indeks 0) diberi nilai integer 1 menggunakan metode \ **setCellValue** \
. Sebaliknya, sel kedua (indeks 1) diatur ke nilai desimal 1.2 secara langsung dalam metode \ **createCell** \
. Sel ketiga (indeks 2) berisi nilai string “Ini adalah string” yang dibuat menggunakan \ **creatreIchTextString** \
metode dari \ **xssfcreationHelper** \
instance. Terakhir, sel keempat (indeks 3) dihuni dengan nilai boolean “benar”. Setelah nilai sel diatur, kode menulis buku kerja yang dihasilkan ke file Excel bernama “workbook.xlsx” menggunakan \ **FileOutputStream** \
.
Membuat Tipe Tipe Cell
XSSFWorkbook wb = new XSSFWorkbook();
//Workbook wb = new XSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
org.apache.poi.ss.usermodel.Sheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
Row row = sheet.createRow(0);
// Create a cell and put a date value in it. The first cell is not styled
// as a date.
Cell cell = row.createCell(0);
cell.setCellValue(new Date());
// we style the second cell as a date (and time). It is important to
// create a new cell style from the workbook otherwise you can end up
// modifying the built in style and effecting not only this cell but other cells.
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(
createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
cell = row.createCell(1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
//you can also set date as java.util.Calendar
cell = row.createCell(2);
cell.setCellValue(Calendar.getInstance());
cell.setCellStyle(cellStyle);
// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
wb.write(fileOut);
}
Cuplikan kode Java ini menampilkan penggunaan Apache POI API untuk bekerja dengan sel-sel tipe tanggal di buku kerja Excel. Kode dimulai dengan membuat Buku Kerja Excel baru (\ **XSSFWorkbook** \
).
Sel pertama (indeks 0) dimaksudkan untuk memiliki nilai tanggal. A \ **Tanggal** \
Objek yang mewakili tanggal dan waktu saat ini ditetapkan sebagai nilai sel menggunakan metode \ **setCellValue** \
. Sel ini tidak ditata secara eksplisit sebagai kencan.
Untuk sel kedua (indeks 1), gaya sel baru (\ CellStyle \
) dibuat menggunakan metode \ createCellstyle \ dari buku kerja. Gaya ini kemudian dikonfigurasi untuk memiliki format tanggal dan waktu tertentu menggunakan metode \
setDataFormat `. \ Createdataformat (). GetFormat (“ m/d/yy h: mm ”) \
proses membuat format tanggal khusus dengan pola format “m/d/yy h: mm”. Sel kedua diberikan nilai tanggal dan waktu saat ini, dan gaya sel yang baru dibuat diterapkan untuk menggunakan metode \ setCellstyle \
.
Sel ketiga (indeks 2) menunjukkan metode alternatif untuk mengisi sel tipe tanggal menggunakan \ java.util.calendar \
. Mirip dengan sel kedua, gaya sel khusus juga diterapkan pada sel ini.
Bekerja dengan berbagai jenis sel
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("new sheet");
Row row = sheet.createRow(2);
row.createCell(0).setCellValue(1.1);
row.createCell(1).setCellValue(new Date());
row.createCell(2).setCellValue(Calendar.getInstance());
row.createCell(3).setCellValue("a string");
row.createCell(4).setCellValue(true);
row.createCell(5).setCellType(CellType.ERROR); // Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
wb.write(fileOut);
}
Dalam sampel kode ini, gaya sel yang berbeda diterapkan pada sel dalam file Excel menggunakan Apache POI API seperti yang dijelaskan dalam langkah -langkah berikut.
- Baris dibuat pada indeks 2 pada lembar menggunakan \
**createrow** (2) \
. Sel kemudian diisi dalam baris ini dengan data berikut. - Sel pertama (indeks 0) diberi nilai desimal 1.1 menggunakan \
**setCellValue** \
metode. - Dalam sel kedua (indeks 1), tanggal dan waktu saat ini dimasukkan menggunakan objek \
date \
melalui metode \**setCellValue** \
. - Sel ketiga (indeks 2) berisi tanggal dan waktu dari \
kalender \
instance, setel menggunakan metode \**setCellValue** \
. - Sel keempat (indeks 3) memegang teks “string”.
- Sel kelima (indeks 4) ditetapkan untuk nilai boolean “benar”.
- Bergerak maju, tipe sel tertentu ditugaskan ke sel keenam (indeks 5) dengan memohon metode \
**setCellType** \
. Sel ini dikonfigurasi sebagai sel kesalahan menggunakan \**cellType.error** \
enumeration, yang menunjukkan bahwa itu akan menampilkan nilai kesalahan. Akhirnya, buku kerja yang dimodifikasi ditulis ke file bernama “workbook.xlsx” menggunakan \**FileOutputStream** \
. Singkatnya, contoh kode ini menunjukkan cara membuat buku kerja Excel, menerapkan gaya sel yang berbeda untuk mengakomodasi berbagai jenis data, dan pada akhirnya menyimpan buku kerja yang dimodifikasi ke file. Ilustrasi praktis ini menampilkan kemampuan perpustakaan Apache POI untuk bekerja dengan file Excel di Java.
Pengaturan Penampilan Sel
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
Row row = sheet.createRow(1);
// Aqua background
CellStyle style = wb.createCellStyle();
style.setFillBackgroundColor(IndexedColors.AQUA.getIndex());
style.setFillPattern(FillPatternType.BIG_SPOTS);
Cell cell = row.createCell(1);
cell.setCellValue("X");
cell.setCellStyle(style);
// Orange "foreground", foreground being the fill foreground not the font color.
style = wb.createCellStyle();
style.setFillForegroundColor(IndexedColors.ORANGE.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cell = row.createCell(2);
cell.setCellValue("X");
cell.setCellStyle(style);
// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
wb.write(fileOut);
}
wb.close();
Cuplikan kode ini menunjukkan cara memanipulasi penampilan sel dalam file Excel menggunakan perpustakaan Apache POI di java. Ini dicapai dengan menggunakan langkah -langkah berikut.
- Baris dibuat pada indeks 1 pada lembar menggunakan \
createrow (1) \
. Perubahan berikut dibuat untuk sel -sel dalam baris ini. - Untuk sel pertama (indeks 1), gaya sel khusus dibuat menggunakan \
wb.createCellstyle () \
. Gaya ini dikonfigurasi dengan warna latar belakang aqua menggunakan \setFillbackgroundColor \
dan \indexedColors.aqua.getIndex () \
. Pola untuk latar belakang diatur ke “bintik -bintik besar” menggunakan \setFillPattern (fillpatternType.big_spots) \
. Sel dibuat di baris ini pada indeks 1 dan diisi dengan nilai “x”. Gaya yang dibuat sebelumnya diterapkan pada sel ini menggunakan \setCellstyle \
. - Untuk sel kedua (indeks 2), gaya sel baru dibuat. Gaya ini dirancang dengan warna latar depan oranye menggunakan \
setFillforeGroundColor \
dan \IndexedColors.ORange.GetIndex () \
. Pola pengisian diatur ke “foreground solid” menggunakan \setFillPattern (fillpatternType.solid_foreground) \
. Sel lain dibuat pada indeks 2 di baris yang sama dan diisi dengan nilai “x”. Gaya yang baru dihasilkan kemudian ditetapkan untuk sel ini menggunakan \setCellstyle \
. Setelah mengkonfigurasi penampilan sel, buku kerja yang dimodifikasi ditulis ke file bernama “workbook.xlsx” menggunakan \FileOutputStream \
. Singkatnya, contoh kode ini menampilkan cara menggunakan perpustakaan Apache POI untuk memanipulasi penampilan sel dalam file Excel. Teknik yang ditunjukkan melibatkan pembuatan gaya sel khusus untuk mengontrol latar belakang dan warna latar depan, serta pola pengisian, memberikan fleksibilitas dalam secara visual menyesuaikan spreadsheet Excel menggunakan Java.
kesimpulan
Dalam semua contoh Java di atas untuk perpustakaan Apache Poi, kami telah menunjukkan cara bekerja dengan konten file Excel dari dalam aplikasi Java Anda. Sampel kode menunjukkan cara membuat sel dalam file Excel, mengatur penampilan ini, mengatur gaya sel ke tipe data yang berbeda seperti string, numerik, desimal, dll., Dan bagaimana mengatur tipe sel ke tipe tanggal. Kami akan menambahkan lebih banyak contoh untuk bekerja dengan file Excel menggunakan Apache POI untuk Java, jadi tetaplah disini.