Java: Cách Tạo Và Chèn Dữ Liệu Vào File Excel | V1Study
Có thể bạn quan tâm
Trong Java, việc đọc tệp excel và ghi tệp excel có một chút khó khăn vì trang tính Excel có các ô để lưu trữ dữ liệu. Java không cung cấp API trực tiếp để đọc hoặc viết các tài liệu Microsoft Excel hoặc Word. Ta sẽ phải dựa vào thư viện của bên thứ ba là Apache POI. Trong phần này, chúng ta sẽ học cách tạo một tệp excel bằng Java và cách ghi hoặc chèn dữ liệu vào tệp excel bằng thư viện Apache POI Java.
1. Thư viện POI Java Apache
Apache POI (Thực hiện giải mã kém) là một API Java để đọc và ghi Tài liệu Microsoft. Nó chứa các lớp và giao diện. Thư viện Apache POI cung cấp hai cách triển khai để đọc hoặc ghi tệp excel:
- Triển khai HSSF (Horrible SpreadSheet Format): Nó biểu thị một API đang hoạt động với Excel 2003 hoặc các phiên bản cũ hơn.
- Triển khai XSSF (XML SpreadSheet Format): Nó biểu thị một API đang hoạt động với phiên bản Excel 2007 trở lên.
Trong phần này sẽ sẽ sử dụng triển khai HSSF.
2. Tạo file Excel trong Java
Làm theo các bước dưới đây để tạo một tệp excel trong Java.
Bước 1: Tạo một dự án Java với tên CreateExcelFile từ IntelliJ.
Bước 2: Tạo một lớp tên CreateExcelFileExample1.
Bước 2: Tải xuống thư viện Apache POI ( poi-3.17.jar).
Bước 4: Thêm Apache POI vào dự án: Nhấp chuột phải vào dự án -> Open Module Settings (hoặc F4) -> sẽ mở cửa sổ Project Structure.
Bước 5: Nhấp chọn Libraries sau đó nhấn dấu + và chọn Java như hình dưới:
Bước 6: Tìm đến nơi chứa file poi-3.17.jar rồi chọn và nhấp vào nút OK. Điều này sẽ thêm tệp JAR vào dự án. Sau đó, nhấp vào nút Apply để áp dụng các thay đổi rồi nhấn nút OK.
Sau khi đã hoàn thành tất cả các bước trên, cấu trúc dự án sẽ giống như sau:
Giờ ta sẽ tiếp tục với các đoạn mã:
Trong chương trình sau, ta sử dụng thư viện Apache POI để tạo một file excel. Thư viện cung cấp lớp có tên HSSFWorkbook được định nghĩa trong gói org.apache.poi.hssf.usermodel.
CreateExcelFileExample1.java
import java.io.*; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Workbook; public class CreateExcelFileExample1 { public static void main(String[] args) throws IOException { //tạo đối tượng của lớp Workbook Workbook wb = new HSSFWorkbook(); //tạo một file excel tại vị trí đã định OutputStream fileOut = new FileOutputStream("E:\\Courses\\Java\\CreateExcelFile\\Excel1.xlsx"); System.out.println("File Excel đã được tạo thành công."); wb.write(fileOut); //đóng stream fileOut.close(); //đóng workbook wb.close(); } }Kết quả:
"C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\jbr\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\lib\idea_rt.jar=58544:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath E:\Courses\Java\CreateExcelFile\out\production\CreateExcelFile;E:\Courses\Java\CreateExcelFile\poi-3.17.jar CreateExcelFileExample1 File Excel đã được tạo thành công.
Ta đã tạo được một file excel trống tại vị trí được chỉ định.
Giờ ta tạo một chương trình Java khác để tạo một tệp excel.
CreateExcelFileExample2.java
import java.io.*; public class CreateExcelFileExample2 { public static void main(String[] args) { try { String filename = "C:\\Users\\Anubhav\\Desktop\\CustomersDetail.xlsx"; FileOutputStream fileOut = new FileOutputStream(filename); fileOut.close(); System.out.println("File Excel được tạo thành công."); } catch (Exception e) { e.printStackTrace(); } } }Kết quả:
"C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\jbr\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\lib\idea_rt.jar=58581:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath E:\Courses\Java\CreateExcelFile\out\production\CreateExcelFile;E:\Courses\Java\CreateExcelFile\poi-3.17.jar CreateExcelFileExample2 File Excel được tạo thành công.
Ta đã tạo được một tệp excel trống tại vị trí được chỉ định.
3. Tạo và chèn dữ liệu vào file Excel
Dưới đây là một ví dụ về cách tạo một file Excel và chèn dữ liệu vào nó:
CreateExcelFileExample3.java
import java.io.*; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFRow; public class CreateExcelFileExample3 { public static void main(String[] args) { try { //khai báo tên file muốn tạo String filename = "E:\\Courses\\Java\\CreateExcelFile\\Excel3.xlsx"; //tạo một đối tượng của lớp HSSFWorkbook HSSFWorkbook workbook = new HSSFWorkbook(); //gọi phương thức creatSheet() và truyền tên file muốn tạo HSSFSheet sheet = workbook.createSheet("January"); //tạo hàng thứ 0 sử dụng phương thức createRow() HSSFRow rowhead = sheet.createRow((short) 0); //tạo ô bằng cách sử dụng phương thức createCell() và thiết lập giá trị cho ô bằng cách sử dụng phương thức setCellValue() rowhead.createCell(0).setCellValue("S.No."); rowhead.createCell(1).setCellValue("Customer Name"); rowhead.createCell(2).setCellValue("Account Number"); rowhead.createCell(3).setCellValue("e-mail"); rowhead.createCell(4).setCellValue("Balance"); //tạo hàng thứ 1 HSSFRow row = sheet.createRow((short) 1); //chèn dữ liệu vào hàng thứ 1 row.createCell(0).setCellValue("1"); row.createCell(1).setCellValue("John William"); row.createCell(2).setCellValue("9999999"); row.createCell(3).setCellValue("william.john@gmail.com"); row.createCell(4).setCellValue("700000.00"); //tạo hàng thứ 2 HSSFRow row1 = sheet.createRow((short) 2); //chèn dữ liệu vào hàng thứ 2 row1.createCell(0).setCellValue("2"); row1.createCell(1).setCellValue("Mathew Parker"); row1.createCell(2).setCellValue("22222222"); row1.createCell(3).setCellValue("parker.mathew@gmail.com"); row1.createCell(4).setCellValue("200000.00"); FileOutputStream fileOut = new FileOutputStream(filename); workbook.write(fileOut); //đóng stream fileOut.close(); //đóng workbook workbook.close(); //in thông báo tạo thành công System.out.println("File Excel đã được tạo thành công."); } catch (Exception e) { e.printStackTrace(); } } }Kết quả:
"C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\jbr\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\lib\idea_rt.jar=58597:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath E:\Courses\Java\CreateExcelFile\out\production\CreateExcelFile;E:\Courses\Java\CreateExcelFile\poi-3.17.jar CreateExcelFileExample3 File Excel đã được tạo thành công.
Nó tạo một tệp excel tại vị trí được chỉ định với các giá trị mà ta đã chèn bằng cách sử dụng phương thức setCellValue().
Từ khóa » đọc Ghi File Excel Trong Java
-
Hướng Dẫn đọc Và Ghi File Excel Trong Java Sử Dụng Thư Viện ... - Viblo
-
Đọc Ghi File Excel Trong Java Sử Dụng Apache POI - Viblo
-
Hướng Dẫn đọc Và Ghi File Excel Trong Java Sử Dụng Thư Viện ...
-
Đọc Ghi File Excel Trong Java Sử Dụng Apache POI - Openplanning
-
Đọc Ghi Excel File Sử Dụng Apache POI - Deft Blog
-
Sử Dụng Apache POI để đọc, Ghi Dữ Liệu Từ File Excel Trong Selenium
-
[Java] Thao Tác Với Excel File Bằng Apache POI - Bean's Blog
-
Cách Đọc File Excel Trong Java / TOP #10 Xem Nhiều Nhất & Mới ...
-
Xem Nhiều 8/2022 # Hướng Dẫn Đọc Và Ghi File Excel Trong Java ...
-
Top #10 ❤️ Ghi File Excel Trong Java Xem Nhiều Nhất, Mới Nhất ...
-
[Java] Đọc Ghi File Excel Trong Java Với Jxl - Nguyễn Văn Quân
-
Hướng Dẫn đọc Và Ghi File Excel Trong Java Sử Dụng Thư Viện ...
-
Hướng Dẫn đọc Ghi Dữ Liệu Từ Excel Cơ Bản - Java - YouTube