Đọc Ghi File Excel Trong Java Với Jxl

--- Bài mới hơn ---

  • Đọc Dữ Liệu Từ File Excel
  • Tổng Hợp Các Hàm Excel Thường Dùng Trong Kế Toán Kho 2022
  • Làm Kế Toán Bằng Phần Mềm Excel Có Phù Hợp Với Doanh Nghiệp Của Bạn?
  • 20 Hàm Excel Thường Dùng Trong Kế Toán
  • 10 Tuyệt Chiêu Excel Cho Kế Toán Quản Trị
  • Tạo và ghi file Excel với Jxl

    Bước 1: Tạo đối tượng WritableWorkbook “trỏ” đến file của bạn. Lưu ý là nếu file của bạn đã tồn tại thì nó sẽ bị xóa đi và tạo lại.

    WritableWorkbook workbook = Workbook.createWorkbook(new File(fileName));

    Bước 2: Tạo WritableSheet – sheet bạn cần ghi dữ liệu:

    WritableSheet sheet = workbook.createSheet("name sheet", 0);

    Lưu ý: trong hàm createSheet có 2 đối số, đối số thứ nhất là chuỗi tên sheet, đối số thứ 2 là một số nguyên chỉ vị trí của sheet, vị trí sheet bắt đầu bằng 0.

    Bước 3: Tiếp theo chúng ta sẽ thêm các dạng dữ liệu vào các ô bằng phương thức addCell. Để viết dữ liệu vào các ô, chúng ta sẽ có 3 dạng chính: Chuỗi, Số và Công thức lần lượt được tạo bằng Label, Number, Formula. Ví dụ:

    sheet.addCell(new Label(0, 0, "Add a String to cell")); // add a String to cell A1 sheet.addCell(new Number(0, 1, 100)); // add number 100 to cell A2 sheet.addCell(new Formula(0, 3, "IF(A1=1,"one", "two")")); // add number 100 to cell A3

    Bước 4: Sau khi chúng ta đã thực hiện xong bước 3, chúng ta cần thực hiện lệnh writeclose để hoàn tất việc ghi dữ liệu

    workbook.write(); workbook.close();

    Đọc file Excel với Jxl

    Bước 1: Tạo Workbook “trỏ” đến file của bạn.

    Workbook workbook = Workbook.getWorkbook(new File(fileName));

    Bước 2: Lấy Sheet bạn muốn đọc. Bạn có thể lấy theo vị trí sheet hoặc tên Sheet

    Sheet sheet = workbook.getSheet(0);

    Bước 3: Đọc nội dung từng ô trong bảng tính. Nếu bạn muốn lấy nội dung của một ô nào đó bạn có thể làm như sau: sheet.getCell(col, row).getContents(). Tuy nhiên nếu bạn muốn đọc toàn bộ các ô trong bảng tính hãy lấy hàng và cột cuối cùng chứa dữ liệu bằng sheet.getRows()sheet.getColumns(), và dùng vòng lặp for để đọc từng ô. Sau khi đọc xong, chúng ta cũng cần close workbook như khi viết dữ liệu

    for (int row = 0; row < rows; row++) { for (int col = 0; col < cols; col++) { Cell cell = sheet.getCell(col, row); System.out.print(cell.getContents() + "t"); } System.out.println("n"); } workbook.close();

    Mở và ghi thêm dữ liệu vào Excel với Jxl

    Để mở và ghi thêm dữ liệu vào file Excel, trước tiên chúng ta cần lấy Workbook từ file Excel cần viết thêm giống như khi chúng ta đọc. Sau đó tạo một WritableWorkbook đến chính workbook vừa lấy và chúng ta sẽ làm việc với WritableWorkbook này bình thường.

    Workbook workbook = Workbook.getWorkbook(new File(fileName)); WritableWorkbook writeWorkbook = Workbook.createWorkbook(new File(fileName), workbook);

    Demo code

    package vietSource.net.IOFile; import java.io.File; import java.io.IOException; import java.util.Scanner; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import jxl.write.Formula; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; /** */ public class ReadWriteExcel { private final String fileName = "/home/nguyenvanquan7826/Desktop/nguyenvanquan7826.xls"; // data to write file private Object data = { { "STT", "Họ và tên", "Điểm", "Xếp loại" }, { "1", "Nguyễn Văn Quân", "9.0", "" }, { "2", "Phạm Thị Hà", "8.0", "" }, { "3", "Nguyễn Bá Cường", "8.5", "" }, { "4", "Vũ Công Tịnh", "9.0", "" }, { "5", "Phạm Trọng Khang", "8", "" }, { "6", "Mai Văn Tài", "8", "" } }; // create and write new file *.xls private void writeFileExcel() { WritableWorkbook workbook; // create workbook try { workbook = Workbook.createWorkbook(new File(fileName)); // create sheet WritableSheet sheet1 = workbook.createSheet("KTPM K10B", 0); // create Label and add to sheet sheet1.addCell(new Label(0, 0, "DANH SÁCH SINH VIÊN TIÊU BIỂU")); // row begin write data int rowBegin = 2; int colBegin = 0; for (int row = rowBegin, i = 0; row < data.length + rowBegin; row++, i++) { for (int col = colBegin, j = 0; col < data args) { ReadWriteExcel rwExcel = new ReadWriteExcel(); while (true) { rwExcel.showMenu(); Scanner scan = new Scanner(System.in); int select = Integer.parseInt(scan.nextLine()); switch (select) { case 1: rwExcel.writeFileExcel(); break; case 2: rwExcel.readFileExcel(); break; case 3: rwExcel.openAndWriteFileExcel(); break; default: scan.close(); break; } } } }

    --- Bài cũ hơn ---

  • Đọc Ghi File Ms Word Bằng Java Với Apache Poi
  • Hướng Dẫn Xuất Dữ Liệu Lớn Ra File Excel Với Thư Viện Apache Poi
  • Đọc Ghi File Excel Bằng Java Sử Dụng Apache Poi
  • Làm Thế Nào Để Hợp Nhất Nhiều Tệp Excel Thành Một
  • Sử Dụng Excel Làm Máy Tính Tay Của Bạn
  • Đọc Ghi File Excel Trong Java Sử Dụng Apache Poi

    --- Bài mới hơn ---

  • Hướng Dẫn Đọc Và Ghi File Excel Trong Java Sử Dụng Thư Viện Apache Poi
  • Thao Tác Với File Excel Trong Java Sử Dụng Api Apache Poi
  • Cách Cài Đặt Email Trong Outlook
  • Cách Cài Đặt Và Sử Dụng Excel Trên Linux
  • Cách Thêm Các Số 0 Vào Đầu Các Giá Trị Trong Excel
  • 1- Apache POI là gì?

    Apache POI là một thư viện mã nguồn mở Java, được cung cấp bởi Apache, nó là một thư viện đầy sức mạnh giúp bạn làm việc với các tài liệu của Microsoft như Word, Excel, Power point, Visio,…

    POI là viết tắt của“Poor Obfuscation Implementation”. Các định dạng file của Microsoft được giấu kín. Những kỹ sư của Apache phải cố gắng để tìm hiểu nó, và họ thấy rằng Microsoft đã tạo ra các định dạng phức tạp một cách không cần thiết. Và cái tên thư viện bắt nguồn từ sự hài ước.

    Poor Obfuscation Implementation: Sự thực hiện cái nghèo nàn ngu muội. (Tạm dịch là vậy).

    Trong tài liệu này tôi hướng dẫn các bạn sử dụng Apache POI để làm việc với Excel.

    Apache POI hỗ trợ bạn làm việc với các định dạng của Microsoft, các class của nó thường có tiếp đầu ngữ HSSF, XSSF, HPSF, … Nhìn vào tiếp đầu ngữ của một class bạn có thể biết được class đó hỗ trợ loại định dạng nào.

    Chẳng hạn để làm việc với các định dạng Excel (XLS) bạn cần các class:

    • HSSFWorkbook
    • HSSFSheet
    • HSSFCellStyle
    • HSSFDataFormat
    • HSSFFont

    Apache POI cung cấp cho bạn các interfaceWorkbook,Sheet,Row,Cell,… và các class thể hiện (implementation) tương ứng là HSSFWorkbook, HSSFSheet, HSSFRow, HSSFCell,…

    Nếu project của bạn sử dụng Maven, bạn chỉ cần khai báo thư viện một cách đơn giản trong chúng tôi :

    Nếu bạn không sử dụng Maven bạn có thể download thư viện Apache POI tại:

    Download về và giải nén, để làm việc với Excel bạn cần ít nhất 3 file jar:

    • poi-**.jar
    • lib/commons-codec-**.jar
    • lib/commons-collections4-**.jar

    Trong tài liệu này, tôi tạo một Project Maven đơn giản có tên ApachePOIExcel

    • Group ID: org.o7planning
    • Artifact ID: ApachePOIExcel

    Microsoft Office các phiên bản trước đây (97-2003) các file excel có định dạng XLS và các phiên bản mới thường sử dụng định dạng XSLX. Để thao tác với các file XSL bạn cần sử dụng các class có tiếp đầu ngữ HSSF. Còn đối với các file định dạng XSLX cần sử dụng các class có tiếp đầu ngữ XSSF.

    Chú ý: Trong tài liệu này tôi đang sử dụng Apache POI 3.15, API có nhiều thay đổi so với phiên bản cũ hơn. Có nhiều phương thức sẽ bị loại bỏ trong phiên bản tương lai (Apache POI 4.x). POI đang hướng tới sử dụng Enum thay thế cho các hằng số trong API của nó.

    7- Cập nhập file Excel có sẵn

    Trong ví dụ này, tôi đọc file excel chúng tôi và cập nhập các giá trị cho cột Salary tăng lên 2 lần.

    Kết quả sau khi cập nhập:

    Nếu bạn có kiến thức về Excel, sẽ không khó để bạn thiết lập một công thức. Với Apache POI bạn có thể tạo một Cell có kiểu CellType.FORMULA, giá trị của nó được tính dựa trên một công thức.

    SUM

    Ví dụ: Tính tổng các ô trên cùng cột “C” từ dòng thứ 2 tới dòng thứ 4:

    // Tạo cell có kiểu FORMULA cell = row.createCell(rowIndex, CellType.FORMULA); // Sét công thức. cell.setCellFormula("SUM(C2:C4)");

    Công thức từ các ô riêng lẻ:

    cell = row.createCell(rowIndex, CellType.FORMULA); cell.setCellFormula("0.1*C2*D3");

    Với một cell có kiểu FORMULA bạn có thể in ra công thức của nó và sử dụng FormulaEvaluator để tính toán giá trị của ô cho bởi công thức đó.

    // Formula String formula = cell.getCellFormula(); FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); // CellValue CellValue cellValue = evaluator.evaluate(cell); double value = cellValue.getNumberValue(); String value = cellValue.getStringValue(); boolean value = cellValue.getBooleanValue(); // ...

    --- Bài cũ hơn ---

  • Hàm Vlookup Cách Sử Dụng Và Bài Tập Áp Dụng Vlookup
  • Lập Báo Cáo Tổng Hợp Tự Động Với Excel Và Vba
  • Hàm Concatenate, Hàm Nối Các Chuỗi Ký Tự Trong Excel
  • Hàm Concatenate Trong Excel, Ứng Dụng Để Nối Các Chuỗi, Ô, Mảng Và Cột
  • 3 Hàm Nối Chuỗi Trong Excel Cực Hay Và Đơn Giản Được Sử Dụng Nhất
  • Đọc Và Ghi File Trong Java (Bài 5)

    --- Bài mới hơn ---

  • Cách Làm Sổ Sách Kế Toán Trên Excel Doanh Nghiệp
  • Các Công Việc Của Kế Toán Thuế Trong Doanh Nghiệp Vừa Và Nhỏ
  • Excel Trong Kế Toán Bán Hàng
  • Tải Bài Tập Excel Kế Toán Có Lời Giải
  • Một Số Công Cụ Excel Tiện Ích Cho Kế Toán
  • Đọc và ghi file trong java là các hoạt động nhập/xuất dữ liệu (nhập dữ liệu từ bàn phím, đọc dữ liệu từ file, ghi dữ liệu lên màn hình, ghi ra file, ghi ra đĩa, ghi ra máy in…) đều được gọi là luồng (stream).

    Đọc và ghi file trong java – Các loại luồng dữ liệu

    • Bước 1: Tạo đối tượng luồng và liên kết với nguồn dữ liệu.
    • Bước 2: Thao tác dữ liệu (đọc hoặc ghi hoặc cả hai).
    • Bước 3: Đóng luồng.

    Xử lý nhập xuất dữ liệu sử dụng luồng byte

    Sử dụng luồng byte trong các trường hợp như nhập xuất kiểu dữ liệu nguyên thủy (như kiểu int, float, double, boolean), nhập xuất kiểu dữ liệu kiểu đối tượng (object)

    Đọc và ghi dữ liệu nhị phân (binary data)

    package file_handling; import java.io.DataOutputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /** * * @author chúng tôi */ public class DataOutputExample { public static void main(String args) { try { //Bước 1: Tạo đối tượng luồng và liên kết nguồn dữ liệu FileInputStream fis = new FileInputStream("d:/file/mydata.bin"); DataInputStream dis = new DataInputStream(fis); //Bước 2: Đọc dữ liệu int n = dis.readInt(); double m = dis.readDouble(); //Bước 3: Đóng luồng fis.close(); dis.close(); //Hiển thị nội dung đọc từ file System.out.println("Số nguyên: " + n); System.out.println("Số thực: " + m); } catch (IOException ex) { ex.printStackTrace(); } } }

    Ví dụ 3: Đọc và ghi dữ liệu kiểu object

    Tạo lớp Stock và lớp này phải cài đặt giao diện Serializable

    package file; import java.io.Serializable; /** * * @author chúng tôi */ public class Stock implements Serializable{ private int id; private String desc; private double price; private int quantity; public Stock(int id, String desc, double price, int quantity) { chúng tôi = id; chúng tôi = desc; this.price = price; this.quantity = quantity; } @Override public String toString() { return id + "-" + desc + "-" + price + "-" + quantity; } }

    Tạo lớp ObjectOutputExample dùng để ghi dữ liệu kiểu object

    package file; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; /** * * @author chúng tôi */ public class ObjectOutputExample { public static void main(String = { new Stock(1, "CD ROM", 100, 2) ,new Stock(2, "CPU", 500, 2) ,new Stock(3, "HP Scanner", 75, 1) }; //Bước 2: Ghi mảng đối tượng vào file oos.writeObject(s); //Bước 3: Đóng luồng fos.close(); oos.close(); } catch (IOException ex) { System.out.println("Loi ghi file: "+ex); } } }

    Tạo lớp ObjectInputExample dùng để đọc dữ liệu kiểu object

    package file; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.ObjectInputStream; /** * * @author chúng tôi */ public class ObjectInputExample { public static void main(String = (Stock args) { try { //Bước 1: Tạo đối tượng luồng và liên kết nguồn dữ liệu File f = new File("d:/mydata3.txt"); FileWriter fw = new FileWriter(f); //Bước 2: Ghi dữ liệu fw.write("Ghi dữ liệu bằng luồng character"); //Bước 3: Đóng luồng fw.close(); } catch (IOException ex) { System.out.println("Loi ghi file: " + ex); } } }

    Ví dụ 2: Đọc dữ liệu với FileReader

    package file_handling; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; /** * * @author chúng tôi */ public class FileReaderExample { public static void main(String[] args) { try { //Bước 1: Tạo đối tượng luồng và liên kết nguồn dữ liệu File f = new File("d:/mydata3.txt"); FileReader fr = new FileReader(f); //Bước 2: Đọc dữ liệu BufferedReader br = new BufferedReader(fr); String line; while ((line = br.readLine()) != null){ System.out.println(line); } //Bước 3: Đóng luồng fr.close(); br.close(); } catch (Exception ex) { System.out.println("Loi doc file: "+ex); } } }

    Đọc và ghi file trong java – Thực hành

    Tạo package tên file và thực hiện các yêu cầu bên dưới

    Bài thực hành số 1: Tạo lớp NhanVien có các thuộc tính mã nhân viên, họ tên, tuổi và lương.

    • Viết setter, getter, constructor và toString.
    • Viết phương thức cho phép nhập thông tin cho 3 nhân viên từ bàn phím. Sử dụng FileWriter để ghi thông tin vào nhanvien.txt.
    • Viết phương thức để đọc nội dung file chúng tôi và in những gì đọc được từ file ra màn hình.

    Bài thực hành số 2: Tạo lớp mới và thực hiện các xử lý sau

    • Viết phương thức tạo mảng 3 nhân viên, nhập thông tin cho các nhân viên, sử dụng ObjectOutputStream để ghi mảng đối tượng nhân viên vào file nhanvien.bin
    • Viết phương thức để đọc file chúng tôi và in mảng nhân viên ra màn hình.

    --- Bài cũ hơn ---

  • Cách Đặt Mật Khẩu Password Cho File Excel
  • Cách Lấy Lại File Excel Chưa Lưu, Bị Lưu Đè, Bị Xóa Đơn Giản Nhất
  • Các Hàm Excel Chuyên Dùng Trong Kế Toán Kho
  • Những Hàm Excel Mà Kế Toán Thường Dùng ” Kế Toán Lê Ánh
  • Các Hàm Excel Thường Dùng Trong Kế Toán Kho Các Bạn Cần Biết
  • Đọc Ghi File Excel Bằng Java Sử Dụng Apache Poi

    --- Bài mới hơn ---

  • Hướng Dẫn Xuất Dữ Liệu Lớn Ra File Excel Với Thư Viện Apache Poi
  • Đọc Ghi File Ms Word Bằng Java Với Apache Poi
  • Đọc Ghi File Excel Trong Java Với Jxl
  • Đọc Dữ Liệu Từ File Excel
  • Tổng Hợp Các Hàm Excel Thường Dùng Trong Kế Toán Kho 2022
  • Đọc ghi file Excel bằng Java sử dụng Apache POI

    Apache POI là một thư viện mã nguồn mở cung cấp bởi apache được sử dụng để xử lý các file office như word, excel, powerpoint…

    1.1 Xử lý file Excel với Apache POI

    Apache POI xử lý các thành phần trong excel theo đúng lập trình hướng đối tượng – mỗi thành phần trong Excel đều được coi như 1 đối tượng.

    Các class cơ bản được dùng để đọc ghi file Excel

    • HSSF: các class có tên bắt đầu là HSSF được dùng để sử lý các file Microsoft Excel 2003 (.xls)
    • XSSF: các class có tên bắt đầu là XSSF được dùng để sử lý các file Microsoft Excel 2007 trở về sau (.xlsx)
    • XSSFWorkbookHSSFWorkbook là các class xử lý với Excel Workbook
    • HSSFSheetXSSFSheet là các class xử lý với Excel Worksheet
    • Row: định nghĩa một dòng trong excel
    • Cell: định nghĩa một ô trong excel

    Ở đây mình sử dụng maven để lấy thư viện của Apache POI.

      Cho các file Microsoft Excel 2003

      Cho các file Microsoft Excel 2007 trở về sau

    3.1 Ghi file Excel

    Tạo 1 Worksheet có name là “Customer_Info”

    dòng đầu tiên hiển thị “List Of Customer”

    Các dòng tiếp theo hiển thị các thông tin của customer (id, name, email), mỗi thông tin ở 1 column.

    package stackjava.com.apachepoiexcel.demo; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class WriteFileExcel { public static void main(String args) { try { FileInputStream excelFile = new FileInputStream(new File("Demo-ApachePOI-Excel.xlsx")); Workbook workbook = new XSSFWorkbook(excelFile); Sheet datatypeSheet = workbook.getSheetAt(0); DataFormatter fmt = new DataFormatter(); Row firstRow = iterator.next(); Cell firstCell = firstRow.getCell(0); System.out.println(firstCell.getStringCellValue()); while (iterator.hasNext()) { Row currentRow = iterator.next(); Customer customer = new Customer(); customer.setId(Integer.parseInt(fmt.formatCellValue(currentRow.getCell(0)))); customer.setName(currentRow.getCell(1).getStringCellValue()); customer.setEmail(currentRow.getCell(2).getStringCellValue()); listOfCustomer.add(customer); } for (Customer customer : listOfCustomer) { System.out.println(customer); } workbook.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }

    *Lưu ý: id của customer là integer nên khi ghi vào file excel nó sẽ là kiểu numeric, do đó khi đọc ra thì nó sẽ đọc là numeric và chuyển thành double, ví dụ 1 sẽ là 1.0. Do đó ta dùng DataFormatter để định dạng nó về kiểu string và parse lại thành integer.

    Kết quả:

    List of Customer Customer Customer [id=3, name=Vin Diesel, [email protected]]

    Okay, Done!

    Đọc ghi file Excel bằng Java sử dụng Apache POI

    Reference:

    --- Bài cũ hơn ---

  • Làm Thế Nào Để Hợp Nhất Nhiều Tệp Excel Thành Một
  • Sử Dụng Excel Làm Máy Tính Tay Của Bạn
  • Cách Sử Dụng Excel Online Trên Máy Tính Của Bạn
  • Những Hàm Cơ Bản Nhất Trong Excel
  • Cách Lập Các Nghiệp Vụ Kế Toán Bán Hàng Bằng Phần Mềm Quản Lý Bán Hàng Trên Excel Miễn Phí
  • Đọc Ghi File Ms Word Bằng Java Với Apache Poi

    --- Bài mới hơn ---

  • Đọc Ghi File Excel Trong Java Với Jxl
  • Đọc Dữ Liệu Từ File Excel
  • Tổng Hợp Các Hàm Excel Thường Dùng Trong Kế Toán Kho 2022
  • Làm Kế Toán Bằng Phần Mềm Excel Có Phù Hợp Với Doanh Nghiệp Của Bạn?
  • 20 Hàm Excel Thường Dùng Trong Kế Toán
  • Đọc ghi file MS Word bằng Java với Apache POI

    Apache POI là một thư viện mã nguồn mở cung cấp bởi apache được sử dụng để xử lý các file office như word, excel, powerpoint…

    XWPFDocument:Được sử dụng để đọc ghi các file MS-Word với định dạng .docx (đọc, lưu file, thêm đoạn văn bản…)

    XWPFParagraph: Được dùng để tạo đoạn paragraph trong tài liệu word. (Tùy chỉnh căn lề, border)

    XWPFRun: Được sử dụng thể thêm text vào paragraph (Tùy chỉnh font, size…)

    XWPFTable: Được dùng để thêm mới bảng vào file (Thêm cột, thêm dòng, cài đặt chiều rộng cho cột)

    XWPFWordExtractor: Đây là class cơ bản được dùng để lấy text đơn giản từ tài liệu word (lấy tất cả text bên trong file word)

    Thư viện sử dụng:

    Ví dụ ghi file MS Word:

    package stackjava.com.apachepoi.word.demo; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; public class DemoWrite { public static void main(String args) { try { FileInputStream fis = new FileInputStream("demo-apache-apoi-word.docx"); XWPFDocument document = new XWPFDocument(OPCPackage.open(fis)); for (XWPFParagraph paragraph : paragraphList) { System.out.println(paragraph.getText()); } System.out.println("=============================="); System.out.println("Read file using XWPFWordExtractor "); XWPFWordExtractor wordExtractor = new XWPFWordExtractor(document); System.out.println(wordExtractor.getText()); wordExtractor.close(); document.close(); } catch (Exception ex) { ex.printStackTrace(); } } }

    Kết quả:

    Paragraph 1: stackjava.com Paragraph 2: demo read/write file MS-Word ============================== Read file using XWPFWordExtractor Paragraph 1: stackjava.com Paragraph 2: demo read/write file MS-Word

    Okay, Done!

    References:

    https://poi.apache.org/document/

    --- Bài cũ hơn ---

  • Hướng Dẫn Xuất Dữ Liệu Lớn Ra File Excel Với Thư Viện Apache Poi
  • Đọc Ghi File Excel Bằng Java Sử Dụng Apache Poi
  • Làm Thế Nào Để Hợp Nhất Nhiều Tệp Excel Thành Một
  • Sử Dụng Excel Làm Máy Tính Tay Của Bạn
  • Cách Sử Dụng Excel Online Trên Máy Tính Của Bạn
  • Hướng Dẫn Đọc Và Ghi File Excel Trong Java Sử Dụng Thư Viện Apache Poi

    --- Bài mới hơn ---

  • Thao Tác Với File Excel Trong Java Sử Dụng Api Apache Poi
  • Cách Cài Đặt Email Trong Outlook
  • Cách Cài Đặt Và Sử Dụng Excel Trên Linux
  • Cách Thêm Các Số 0 Vào Đầu Các Giá Trị Trong Excel
  • Phím Tắt Ubuntu, Tổng Hợp Phím Nóng Hay Sử Dụng Trong Hệ Điều Hành Ubu
  • Excel là định dạng file rất phổ biến được tạo ra bởi Microsoft. Thông thường, các ứng dụng Java sử dụng thư viện Apache POI để đọc và ghi tập tin Excel. Trong bài này, tôi sẽ hướng dẫn cách để đọc và ghi các tập tin Excel sử dụng API của thư viện Apache POI.

    Giới thiệu về Apache POI?

    Apache POI là một thư viện mã nguồn mở Java, được cung cấp bởi Apache. Thư viện này cung cấp các API (phương thức) làm việc với các tài liệu của Microsoft như Word, Excel, Power point, Visio,…

    Các class của Apache POI thường có tiếp đầu ngữ HSSF, XSSF, HPSF, … Nhìn vào tiếp đầu ngữ của một class bạn có thể biết được class đó hỗ trợ loại định dạng nào.

    • HSSF (Horrible SpadSheet Format): Đọc và ghi file định dạng Microsoft Excel (XLS – định dạng hỗ trợ của Excel 2003).
    • XSSF (XML SpadSheet Format): Đọc và ghi định dạng file Open Office XML (XLSX – định dạng hỗ trợ của Excel 2007 trở lên).
    • SXSSF (Streaming version of XSSFWorkbook) : SXSSF là một phần mở rộng API của XSSF, được sử dụng khi xuất các file excel lớn và có bộ nhớ heap sapce hạn chế.

    Tổng quan Apache POI Excel

    Microsoft Excel hiện tại có 2 phần mở rộng:

    • .xls: tương ứng với phiên bản Microsoft Excel 2003 trở về trước. Định dạng này được Apache POI hỗ trợ bởi các lớp java với tiếp đầu ngữ là HSSF.
    • .xlsx: tương ứng với phiên bản Microsoft Excel 2007 trở về sau. Định dạng này được Apache POI hỗ trợ bởi các lớp java với tiếp đầu ngữ là XSSF, SXSSF.

    Một số khái niệm cơ bản của Apache API:

    Apache POI cung cấp cho bạn các interface Workbook, Sheet, Row, Cell,… và các class thể hiện (implementation) tương ứng:

    • Workbook: đại diện cho một file Excel. Nó được triển khai dưới hai class là: HSSFWorkbook và XSSFWorkbook tương ứng cho định dạng .xls và .xlsx .
    • Sheet: đại diện cho một bảng tính Excel (một file Excel có thể có nhiều Sheet). Nó có 2 class là HSSFSheet và XSSFSheet.
    • Row: đại diện cho một hàng trong một bảng tính (Sheet). Nó có 2 class là HSSFRow và XSSFRow.
    • Cell: đại diện cho một ô trong một hàng (Row). Tương tự nó cũng có 2 class là HSSFCell and XSSFCell.

    Khai báo thư viện Apache POI

    Tạo Maven project và khai báo thư viện trong file chúng tôi của project như sau:

    Lưu ý: Các phiên bản cũ của Apache POI chỉ hỗ trợ các định dạng file binary như doc, xls, ppt, … .Từ phiên bản 3.5 trở đi, POI hỗ trợ các định dạng file OOXML của MS-Office như docx, xlsx, pptx, …

    Ví dụ đọc và ghi file Excel

    Microsoft Office các phiên bản trước đây (97-2003) các file excel có định dạng .xls và các phiên bản mới hơn (2007 trở về sau) thường sử dụng định dạng .xlsx. Để thao tác với các file .xls cần sử dụng các class có tiếp đầu ngữ HSSF. Còn đối với các file định dạng .xlsx cần sử dụng các class có tiếp đầu ngữ XSSF.

    Ví dụ ghi file excel (.xls, .xlsx)

    Book.java

    package com.gpcoder.apachepoi; public class Book { private Integer id; private String title; private Integer quantity; private Double price; private Double totalMoney; }

    WriteExcelExample.java

    Thực thi chương trình trên, một file chúng tôi được tạo ra trong thư mục C:/demo như sau:

    Ví dụ đọc file excel (.xls, .xlsx)

    Kết quả thực thi chương trình trên:

    Book Book Book

    Lưu ý:

    Các kiểu dữ liệu số khi đọc từ file excel sẽ có giá trị là kiểu double.

    Nguồn: https://gpcoder.com/3144-huong-dan-doc-va-ghi-file-excel-trong-java-su-dung-thu-vien-apache-poi/

    All Rights Reserved

    --- Bài cũ hơn ---

  • Đọc Ghi File Excel Trong Java Sử Dụng Apache Poi
  • Hàm Vlookup Cách Sử Dụng Và Bài Tập Áp Dụng Vlookup
  • Lập Báo Cáo Tổng Hợp Tự Động Với Excel Và Vba
  • Hàm Concatenate, Hàm Nối Các Chuỗi Ký Tự Trong Excel
  • Hàm Concatenate Trong Excel, Ứng Dụng Để Nối Các Chuỗi, Ô, Mảng Và Cột
  • Đọc Ghi Excel File Sử Dụng Apache Poi

    --- Bài mới hơn ---

  • Java: Cách Tạo Và Chèn Dữ Liệu Vào File Excel
  • Làm Cách Nào Để Chèn Hoặc Nhúng Thư Outlook Vào Excel?
  • Cách Xem Nhanh Tệp Tin Đính Kèm Trong Outlook
  • Những Lưu Ý Sử Dụng Bộ Microsoft Office Cho Windows 10
  • Hướng Dẫn Lập Dự Toán Xây Dựng Công Trình Trên Excel
  • Do vậy, trong bài viết này, mình đã giới thiệu về Apache POI là một thư viện mã nguồn mở cho phép chúng ta thao tác với các tập tin định dạng microsoft office. Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu cách đọc và ghi excel file sử dụng Apache POI.

    Maven denpendency

    Để thao tác được với Excel file, chúng ta cần thêm các denpendency cần thiết.

    Một số lưu ý khi sử dụng Apache POI

    Bài viết này sẽ hướng dẫn các bạn cách đọc và ghi file excel sử dụng thư viện Apache POI. Tuy nhiên có một số lưu ý sau các bạn cần chú ý để có thể triển khai cho từng trường hợp của mình.

    • Tiền tố HSSF được đặt trước các tên class dùng để thao tác với các file định dạng Microsoft Excel 2003.
    • Tiền tố XSFF được đặt trước các tên class dùng để thao tác với các file định dạng Microsoft Excel 2007.
    • XSSFWorkbook và HSSFWorkbook là các class đại diện cho một excel workbook.
    • HSSFSheet và XSSFSheet là các class đại diện cho một excel WorkSheet.
    • Row đại diện cho một dòng.
    • Cell đại diện cho một ô trong một hàng xác định.

    Trong bài hướng dẫn này, các bạn sẽ được hướng dẫn cách đọc ghi file excel Microsoft Excel 2007 có đôi là xlsx, có nghĩa là chúng ta sẽ sử dụng các class có tiền tố là XSFF để đọc file exel.

    Ghi excel file

    Để ghi một excel file cần qua những bước cơ bản sau:

    • Tạo workbook.
    • Tạo một sheet trong workbook.
    • Tạo một dòng trong sheet.
    • Thêm một cột trong sheet.

    import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java.io.FileOutputStream; import java.util.Map; import java.util.Set; import java.util.TreeMap; public class Main { public static void main(String{"ID", "NAME", "LASTNAME"}); data.put("2", new Object{2, "Prakashni", "Yadav"}); data.put("4", new Object{4, "Virat", "kohli"}); // Duyệt và thêm dữ liệu từng row int rownum = 0; for (String key : keyset) { // this creates a new row in the sheet Row row = sheet.createRow(rownum++); Object args) { try { FileInputStream file = new FileInputStream(new File("gfgcontribute.xlsx")); // Khởi tạo workbook cho tệp xlsx XSSFWorkbook workbook = new XSSFWorkbook(file); // Lấy worksheet đầu tiên trong workbook XSSFSheet sheet = workbook.getSheetAt(0); // Duyệt qua từng row while (rowIterator.hasNext()) { Row row = rowIterator.next(); // For each row, iterate through all the columns while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); // Check the cell type and format accordingly switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC: System.out.print(cell.getNumericCellValue() + "t"); break; case Cell.CELL_TYPE_STRING: System.out.print(cell.getStringCellValue() + "t"); break; } } System.out.println(""); } file.close(); } catch (Exception e) { e.printStackTrace(); } } }

    Output:

    IDtNAMEtLASTNAMEt

    1.0tPankajtKumart

    2.0tPrakashnitYadavt

    3.0tAyantMondalt

    4.0tVirattkohlit

    Note: Nếu bạn muốn đọc một file tại một đường dẫn khác, thì bạn chỉ việc thay

    FileInputStream file = new FileInputStream(new File("gfgcontribute.xlsx"));

    thành đường dẫn bạn mong muốn.

    Thêm dữ liệu vào sheet

    Nếu bạn đã có một excel sẵn và muốn ghi thêm dự liệu vào đó, thì chỉ cần lấy sheet đó ra từ workbook, đi đến dòng cuối cùng và bắt đầu ghi thêm dữ liệu vào.

    private static final String FILE_NAME = "C:\Users\pankaj\Desktop\projectOutput\blo.xlsx"; public static void write() throws IOException, InvalidFormatException { InputStream inp = new FileInputStream(FILE_NAME); Workbook wb = WorkbookFactory.create(inp); Sheet sheet = wb.getSheetAt(0); int num = sheet.getLastRowNum(); Row row = sheet.createRow(++num); row.createCell(0).setCellValue("xyz"); ..... .. // Now this Write the output to a file FileOutputStream fileOut = new FileOutputStream(FILE_NAME); wb.write(fileOut); fileOut.close(); }

    Nguồn tham khảo

    https://www.geeksforgeeks.org/reading-writing-data-excel-file-using-apache-poi/

    --- Bài cũ hơn ---

  • Thao Tác Với Excel File Bằng Apache Poi
  • Hàm Vlookup Với Một Số Ví Dụ Cơ Bản Và Nâng Cao Trong Excel
  • Làm Cách Nào Để Đếm / Chỉ Tính Tổng Các Số Dương Hoặc Số Âm Trong Excel?
  • Hướng Dẫn Cách Dùng Hàm Nối Ký Tự Trong Excel
  • Hướng Dẫn Nối Dữ Liệu Nhiều Ô Trong Excel
  • Java: Cách Tạo Và Chèn Dữ Liệu Vào File Excel

    --- Bài mới hơn ---

  • Làm Cách Nào Để Chèn Hoặc Nhúng Thư Outlook Vào Excel?
  • Cách Xem Nhanh Tệp Tin Đính Kèm Trong Outlook
  • Những Lưu Ý Sử Dụng Bộ Microsoft Office Cho Windows 10
  • Hướng Dẫn Lập Dự Toán Xây Dựng Công Trình Trên Excel
  • Tải File Về Không Mở Được Trên Điện Thoại
  • 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 Javacá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 SpadSheet 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 SpadSheet 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

    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 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 chúng tôi 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) { 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 FilesJetBrainsIntelliJ IDEA Community Edition 2022.3.1jbrbinjava.exe” “-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2022.3.1libidea_rt.jar=58581:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2022.3.1bin” -Dfile.encoding=UTF-8 -classpath E:CoursesJavaCreateExcelFileoutproductionCreateExcelFile;E:CoursesJavaCreateExcelFilepoi-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

    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");[email protected]");

    Kết quả:

    “C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2022.3.1jbrbinjava.exe” “-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2022.3.1libidea_rt.jar=58597:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2022.3.1bin” -Dfile.encoding=UTF-8 -classpath E:CoursesJavaCreateExcelFileoutproductionCreateExcelFile;E:CoursesJavaCreateExcelFilepoi-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().

    --- Bài cũ hơn ---

  • Đọc Ghi Excel File Sử Dụng Apache Poi
  • Thao Tác Với Excel File Bằng Apache Poi
  • Hàm Vlookup Với Một Số Ví Dụ Cơ Bản Và Nâng Cao Trong Excel
  • Làm Cách Nào Để Đếm / Chỉ Tính Tổng Các Số Dương Hoặc Số Âm Trong Excel?
  • Hướng Dẫn Cách Dùng Hàm Nối Ký Tự Trong Excel
  • Thao Tác Với File Excel Trong Java Sử Dụng Api Apache Poi

    --- Bài mới hơn ---

  • Cách Cài Đặt Email Trong Outlook
  • Cách Cài Đặt Và Sử Dụng Excel Trên Linux
  • Cách Thêm Các Số 0 Vào Đầu Các Giá Trị Trong Excel
  • Phím Tắt Ubuntu, Tổng Hợp Phím Nóng Hay Sử Dụng Trong Hệ Điều Hành Ubu
  • Không Thể Tìm Thấy Các Ứng Dụng Office Trong Windows 10, Windows 8 Hoặc Windows 7?
  • Đôi điều về Apache POI

    Nhiều khi trong một ứng dụng phần mềm cần thiết phải tạo ra các báo cáo trong định dạng file Microsoft Excel, hoặc sẽ nhận file Excel như dữ liệu đầu vào. Ví dụ, một ứng dụng được phát triển cho bộ phận Tài chính của một công ty sẽ được yêu cầu để tạo ra tất cả các kết quả đầu ra là file Excel. Bất kỳ lập trình viên Java nào muốn sản xuất các tập tin MS Office như đầu ra thì nên sử dụng một giao diện lập trình(API) để làm như vậy. Apache POI là một API cho phép lập trình viên tạo mới, sửa và hiển thị Microsoft Office file sử dụng Java. Apache POI là một thư viện mã nguồn mở được phát triển và xuất bản bởi Apache Software Foundation.

    Cấu phần của Apache POI

    Apache POI chứa các lớp và phương thức để làm việc trên các tài liệu dưới định dạng file MS Office. Danh sách các thành phần của API như sau.

    POIFS (Poor Obfuscation Implementation File System) : This component is the basic factor of all other POI elements. It is used to read different files explicitly.

    HPSF (Horrible Property Set Format) : Được sử dụng để trích xuất các thuộc tính của file MS-Office.

    HWPF (Horrible Word Processor Format) : Được sử dụng để đọc ghi định dạng .doc của file MS-Office.

    XWPF (XML Word Processor Format) : Được sử dụng để đọc ghi định dạng .docx của file MS-Office.

    HSLF (Horrible Slide Layout Format) : Được sử dụng để đọc ghi file PowerPoint.

    HDGF (Horrible DiaGram Format) : Được sử dụng cho file MS-Visio dưới dạng binary.

    HPBF (Horrible PuBlisher Format) : Được sử dụng để đọc ghi file MS-Publisher.

    Note

    Các phiên bản cũ của Apache POI chỉ hỗ trợ các định dạng file binary như doc, xls, ppt, vv từ phiên bản 3.5 trở đi, POI hỗ trợ các định dạng file OOXML của MS-Office như docx, xlsx, pptx, vv

    Làm việc với MS-Excel

    Excel là định dạng file rất phổ biến được tạo bởi Microsoft. Mặc dù nó không phải là định dạng file mở nhưng ứng dụng Java vẫn có thể đọc, ghi Excel file bằng cách sử dụng giao diện lập trình Apache POI.

      Cách thức lấy thư viện Apache POI Để sử dụng POI cho ứng dụng của bạn, có 2 cách:
    • Cho ứng dụng Maven: Thêm các dependency sau vào file pom.xml:

    Chúng ta sẽ sử dụng entity Book để đọc ghi dữ liệu

    package vuta.apache.poi.example; public class Book { private String title; private String author; private double price; public Book() { } public Book(String title, String author, double price) { super(); this.title = title; this.author = author; this.price = price; } public String toString() { return String.format("%s - %s - %f", title, author, price); } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } }

    --- Bài cũ hơn ---

  • Hướng Dẫn Đọc Và Ghi File Excel Trong Java Sử Dụng Thư Viện Apache Poi
  • Đọc Ghi File Excel Trong Java Sử Dụng Apache Poi
  • Hàm Vlookup Cách Sử Dụng Và Bài Tập Áp Dụng Vlookup
  • Lập Báo Cáo Tổng Hợp Tự Động Với Excel Và Vba
  • Hàm Concatenate, Hàm Nối Các Chuỗi Ký Tự Trong Excel
  • Sử Dụng Apache Poi Để Đọc, Ghi Dữ Liệu Từ File Excel Trong Selenium

    --- Bài mới hơn ---

  • Export Dữ Liệu Ra Excel Dùng Poi
  • Hướng Dẫn Làm Kế Toán Trên Excel
  • Quy Trình Hạch Toán Nghiệp Vụ Bán Hàng Trên Excel
  • Hướng Dẫn Công Việc Của Kế Toán Bán Hàng Chi Tiết
  • Vai Trò Của Excel Trong Doanh Nghiệp Mà Mọi Nhân Viên Nên Nắm Rõ
  • Vậy thì vấn đề đặt ra ở đây là, nếu như dữ liệu cần phải thay đổi nhiều lần, liên tục và hàng ngày thì chúng ta sẽ thực hiện thay đổi từng phần theo mỗi lần thay đổi đó và rồi lại biên dịch lại? Chỉ nghĩ thôi đã thấy khá là mệt mỏi rồi, chưa kể đến việc biên dịch lỗi và ngồi mần lại thì đúng là ác mộng.

    Thế nên trải qua rất nhiều kinh nghiệm xương máu, người ta và người tây đã rút ra được rằng, việc phát triển code tốt nhất là nên tách rời với phần dữ liệu để khi hoạt động chúng không ảnh hưởng đến nhau đến các file chương trình. Đưa dữ liệu ra ngoài các file code của chương trình chính là cách duy nhất để làm việc đó, chúng ta có thể đưa dữ liệu vào trong các file excel, property file, config file, Json file, hay các XML file…

    1. Về Apache POI

    Các bước thực hiện download Apache POI

    1. Truy cập link: https://poi.apache.org/download.html

    3. Lưu file zip về máy tính, sau đó giải nén ta được một folder và các thông tin tương tự như hình dưới:

    Vậy là xong bước download bộ thư viện Apache POI.

    2. Tích hợp Apache POI và Selenium Webdriver

    Chúng ta có thể sử dụng tích hợp Apache POI trong Selennium Webdriver để thực hiện đọc và ghi file excel và tạo một data drivent framework.

    Các bước để thực hiện tích hợp Apache POI với project Selenium webdriver:

    1. Mở project selenium webdriver trên Eclipse

    3. Nhấn vào nút Add External jars

    4. Thực hiện điều hướng đến thư mục chứa Apache POI vừa giản nén, chọn các file jars trong thư mục chính, các file jar trong thư mục lib, và trong thư mục ooxml-lib:

    3. Một số thuật ngữ quan trọng thường dùng trong Apache POI

    Thư viện của Apache POI xoay quanh 4 từ khóa quen thuộc trong một file excel:

    Workbook: 1 workbook đại diện cho 1 file excel

    Sheet: 1 workbook có thể bao gồm nhiều sheet, chúng ta có thể truy cập vào các sheet này dựa theo tên hoặc chỉ số (index) của sheet đó trong workbook.

    Row: như tên gọi của nó, đại diện cho một hàng của 1 sheet.

    Cell: một cell sẽ đại diện cho một ô trong sheet.

    4. Đọc dữ liệu file excel với Apache POI

    Trước tiên chúng ta sẽ cùng thực hiện đọc dữ liệu từ 1 file excel và in ra màn hình nội dung đó.

    1. Tạo project, và class trong Eclipse

    2. Tạo 1 file excel có tên là testData.xlsx, có 1 sheet tên là Sheet1 và nội dung của ô A1 = Hello. Lưu lại trong một thư mục ở máy tính của bạn.

    3. Tạo một đối tượng cho FileInputStream chứa đường dẫn đến nơi lưu trữ file data excel:

    4. Tạo đối tượng workbook bằng cách sử dụng method create() trong WorkbookFactory class và truyền vào đó tham số đầu vào là đối tượng fis file excel ta vừa tạo ở bước 3:

    5. Tạo đối tượng sheet từ đối tượng workbook (wb) vừa tạo ở bước 4, ở đây ta sẽ truyền tham số đầu vào chính xác tên của sheet trong file excel ta đã chuẩn bị ở bước 2 là Sheet1:

    6. Tạo đối tượng Row từ sheet vừa có ở bước 5, tham số đầu vào là chỉ số hàng – bắt đầu từ 0

    7. Ta cũng có thể tạo 1 đối tượng cell từ đối tượng row ở bước 6, tham số đầu vào ở đây cũng là chỉ số cell:

    8. Để lấy ra giá trị của ô trong file excel ta có thể gọi method getStringCellValue() trong cell class:

    5. Ghi dữ liệu vào file excel trong Selenium Webdriver

    7. Tạo một cell thuộc row với tham số đầu vào là chỉ số của cell muốn thêm:

    8. Thực hiện gán giá trị cho cell đó bằng cách sử dụng method setCellValue() trong Cell Class:

    9. Tạo đối tượng để lưu thông tin file output với FileOutputStream :

    10. Method write() sẽ giúp chúng ta thực hiện lưu thông tin giá trị vừa gán vào trong file với đối tượng fos:

    Để đọc thì đơn giản là ta sẽ cần sử dụng vòng lặp for với biến i,j tương ứng cho hàng và cột cứ thế thì sẽ ra thôi. Kaka. Nói thì dễ nhưng làm rồi mới thấy dễ hơn =)))

    Thông thường, đọc và ghi dữ liệu file excel mình sẽ viết thành một hàm và cho nó vào 1 file common nào đó, khi nào cần thì sẽ gọi ra và dùng thôi.

    import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExcelCommon_POI { private static XSSFSheet ExcelWSheet; private static XSSFWorkbook ExcelWBook; private static XSSFCell Cell; public static XSSFSheet setExcelFile(String Path, String SheetName) throws Exception { try { FileInputStream ExcelFile = new FileInputStream(Path); ExcelWBook = new XSSFWorkbook(ExcelFile); ExcelWSheet = ExcelWBook.getSheet(SheetName); } catch (Exception e) { throw (e); } return ExcelWSheet; } public static String getCellData(int RowNum, int ColNum, XSSFSheet excelWSheet) throws Exception { try { Cell = excelWSheet.getRow(RowNum).getCell(ColNum); String CellData = Cell.getStringCellValue(); return CellData; } catch (Exception e) { return ""; } } public static void writeDataToExcel(int rowcount, int columncount, String filepath, String Sheetname, String value) { try { FileInputStream input = new FileInputStream(filepath); XSSFWorkbook wb = new XSSFWorkbook(input); XSSFSheet sh = wb.getSheet(Sheetname); XSSFRow row = sh.getRow(rowcount); FileOutputStream webdata = new FileOutputStream(filepath); row.createCell(columncount).setCellValue(value); wb.write(webdata); } catch (Exception e) { } } }

    --- Bài cũ hơn ---

  • Thủ Thuật Tìm Kiếm Nhanh File, Settings Trong Windows 10
  • Nhân Sự Hay Dùng Những Hàm Excel Gì ?
  • Nhân Sự Hay Dùng Những Hàm Excel Gì
  • Các Hàm Excel Thông Dụng Nhất Trong Kế Toán Kiểm Toán
  • Thủ Thuật 10 Hàm Excel Cơ Bản Dành Cho Người Kinh Doanh Online
  • Web hay
  • Links hay
  • Push
  • Chủ đề top 10
  • Chủ đề top 20
  • Chủ đề top 30
  • Chủ đề top 40
  • Chủ đề top 50
  • Chủ đề top 60
  • Chủ đề top 70
  • Chủ đề top 80
  • Chủ đề top 90
  • Chủ đề top 100
  • Bài viết top 10
  • Bài viết top 20
  • Bài viết top 30
  • Bài viết top 40
  • Bài viết top 50
  • Bài viết top 60
  • Bài viết top 70
  • Bài viết top 80
  • Bài viết top 90
  • Bài viết top 100