Excel sang đối tượng java

Excel-Pojo-Mapper là một thư viện java nhỏ để ánh xạ dữ liệu được lưu trong excel với các đối tượng java mà không cần viết mã soạn sẵn để đọc excel và tạo các đối tượng java. Theo một cách nào đó, nó cho phép chúng tôi chuyển đổi các hàng của dữ liệu excel đã chỉ định thành các đối tượng Java. Các hàng có thể được ánh xạ bằng một khóa và có thể được tìm nạp theo tên khóa dưới dạng danh sách các đối tượng. Thư viện cung cấp cách tạo mẫu excel tiêu chuẩn để hỗ trợ ánh xạ phân cấp đối tượng phức tạp. Epmapper sử dụng Java Reflection & Apache Poi (API Java cho Tài liệu của Microsoft) để thực hiện quy trình lập bản đồ

Yêu cầu

JAR được phân phối cho Java8

Hiểu rồi

Nếu bạn đang sử dụng dự án maven thì hãy tạo thư mục libs trong thư mục dự án. Tải xuống jar và đặt nó vào thư mục libs. Cập nhật phụ thuộc trong pom. xml


  com.meesho.epmapper
  excel-pojo-mapper
  system
  1.0-SNAPSHOT
  ${project.basedir}/libs/epmapper-1.0-SNAPSHOT.jar



  org.apache.poi
  poi-ooxml
  4.0.1



   org.apache.commons
   commons-configuration2
   2.7



    org.projectlombok
    lombok
    1.18.20


Bắt đầu

Xây dựng phiên bản Excel ObjectMapper

Lớp ExcelObjectMapper cung cấp cách đặt tham số cần thiết cho dữ liệu ánh xạ và tạo mẫu excel với các đối tượng java bằng cách sử dụng mẫu trình tạo

ExcelObjectMapper mapper = ExcelObjectMapper.
                           builder().
                           rootPackage(root_package).
                           fileLocation(path_of_excel).
                           sheetName(sheet_name).
                           build();

  • root_package. Gói gốc trong thư mục dự án
  • đường dẫn_of_excel. Đường dẫn file excel
  • sheet_name. Tên bảng excel

Tạo mẫu Excel

Lớp Trình tạo cung cấp một phương thức và phiên bản quá tải của nó để tạo mẫu excel

  1. Tạo thể hiện của lớp Generator

Generator generator = new Generator();

  1. Tạo mẫu excel

generator.generate(pojo,path);
          OR
generator.generate(excelObjectMapper,relativeClassPath);

  • pojo. Tên lớp đủ điều kiện của root pojo
  • đường dẫn. Đường dẫn của tệp excel và tên trang tính được phân tách bằng “. ”
  • excel ObjectMapper. Thể hiện của lớp Excel ObjectMapper
  • tương đốiClassPath. Đường dẫn lớp của lớp pojo gốc (không bao gồm gói gốc)

Ghi chú. Các kiểu dữ liệu nguyên thủy không được hỗ trợ, chúng ta có thể sử dụng các lớp bao bọc

Điền dữ liệu vào excel

Tạo mẫu excel chứa các lớp pojo và các trường của nó được sử dụng để ánh xạ dữ liệu với các đối tượng java. Dữ liệu cho từng trường trong lớp có thể được điền bên dưới tên trường. Nếu trường là lớp pojo hoặc mảng của lớp pojo, thì dữ liệu phải được điền bên dưới lớp bên dưới mà trường được xác định

Sau đây là hướng dẫn và ví dụ để điền dữ liệu vào mẫu excel

  1. Cột đầu tiên trong mẫu trống để giữ khóa tìm nạp dữ liệu cụ thể từ mẫu
  2. Không xóa tiêu đề được tạo tự động trong mẫu vì nó được sử dụng để ánh xạ dữ liệu với các đối tượng java
  3. Dữ liệu sẽ được điền vào các hàng từ cột thứ 2
  4. Phạm vi cột được chỉ định cho từng lớp dựa trên các trường đã xác định. Các trường có trong tiêu đề của mẫu, dữ liệu phải được lưu trong các cột tương ứng
  5. Mỗi dữ liệu trong excel sẽ cách nhau bởi một hàng trống

ví dụ

Mô hình đối tượng

public class Student {
   private String name;
   private Integer rollNumber;
   private Integer age;
}

Dữ liệu trong mẫu excel

Sinh viên. 1. 3   tên. java. lang thang. StringrollSố. java. lang thang. số nguyên. java. lang thang. Integerkey1Rahul125    key2Raj330

Mô hình đối tượng

public class Employee {

       private Long employeeId;

       private String name;

       private Boolean single;

       List emails;

       List bills;
}

Dữ liệu trong mẫu excel

Nhân viên. 1. 8      ID nhân viên. java. lang thang. Tên dài. java. lang thang. chuỗi đơn. java. lang thang. Booleanemail. [L[Ljava. lang thang. Stringbills. [L[Ljava. lang thang. Số nguyên11001RahulTRUErahul@gmail. com,abc@gmail. com112,113      key21002RajFALSEraj@gmail. com,kumar@gmail. com116,117

Mô hình đối tượng

public class Student {
    private String name;
    private Integer rollNumber;
    private StudentAddress address;
}

public class StudentAddress {
    private String city;
    private String state;
    private Long pinCode;
}

Dữ liệu trong mẫu excel

Nhân viên. 1. 8 Địa chỉ sinh viên. 5. 7    tên. java. lang thang. StringrollSố. java. lang thang. Số nguyênSinh viênĐịa chỉThành phố. java. lang thang. Chuỗi trạng thái. java. lang thang. StringpinCode. java. lang thang. Longkey1Rahul1 BangaloreKarnataka560061       key2Raj2 BangaloreKarnataka560063

Mô hình đối tượng

public class Department {
    private String name;
    private List employees;
}

public class Employee {

       private Long employeeId;

       private String name;
}

Dữ liệu trong mẫu excel

Phòng. 1. 2 Nhân viên. 3. 4 tên. java. lang thang. nhân viên chuỗi. [LEemployeeemployeeId. java. lang thang. Tên dài. java. lang thang. Stringkey1IT 110Rahul   111Raj     key2HR 112Amar   113Prakash

Mô hình đối tượng

________số 8_______

Dữ liệu trong mẫu excel

Phòng. 1. 2 Đội. 3. 4 Nhân viên. 5. 6 tên. java. lang thang. nhóm chuỗi. Tên nhóm. java. lang thang. nhân viên chuỗi. [LEemployeeemployeeId. java. lang thang. Tên dài. java. lang thang. Stringkey1IT Dev 110Rahul     111Raj       key2HR Tuyển dụng 114Suraj  115Ram

Mô hình đối tượng

public class Department {
    private String name;
    private List teams;
}

public class Team {
    private String name;
    private List employees;
}

public class Employee {

        private Long employeeId;

        private String name;

        @Override
        public String toString() {
                final StringBuilder sb = new StringBuilder("Employee{");
                sb.append("employeeId=").append(employeeId);
                sb.append(", name='").append(name).append('\'');
                sb.append('}');
                return sb.toString();
        }
}

Dữ liệu trong mẫu excel

Phòng. 1. 2 Đội. 3. 4 Nhân viên. 5. 6 tên. java. lang thang. nhóm chuỗi. [Tên nhóm. java. lang thang. nhân viên chuỗi. [LEemployeeemployeeId. java. lang thang. Tên dài. java. lang thang. Stringkey1IT Dev 110Rahul   QA 111Raj     ENDEND     112Amar  113Prakash       key2HR Tuyển dụng 114Suraj   Hỗ trợ 115Ram  ENDEND  116Shyam   117Akash

Dữ liệu bản đồ với danh sách các đối tượng java

Lớp ExcelObjectMapperHelper cung cấp các phương thức để chuyển thể hiện của ExcelObjectMapper và tìm nạp danh sách các đối tượng java bằng khóa

Làm cách nào để chuyển đổi tệp Excel thành đối tượng Java?

Các nhà phát triển Java sử dụng SpreadsheetConverter để tăng tốc độ phát triển phần mềm. SpreadsheetConverter chuyển đổi bảng tính Microsoft Excel thành các chương trình Java nhỏ gọn và được tăng tốc . Nó có thể chuyển đổi bảng tính của bạn thành một lớp Java tính toán giống như bảng tính.

Làm cách nào để lấy dữ liệu từ Excel trong Java?

Bước 1. Tạo một dự án Java đơn giản trong nhật thực. Bước 2. Bây giờ, tạo một thư mục lib trong dự án. .
commons-bộ sưu tập4-4. 1. bình bấm vào đây
poi-3. 17. bình bấm vào đây
poi-ooxml-3. 17. bình bấm vào đây
poi-ooxml-schemas-3. 17. bình bấm vào đây
xmlbeans-2. 6. bình bấm vào đây

Bạn có thể kết nối Excel với Java không?

Chọn tùy chọn 'Thêm kết nối' từ menu Quản trị để mở Trình hướng dẫn kết nối. Trong Trình hướng dẫn kết nối, nhập Tên kết nối và chọn 'Excel' từ danh sách Nguồn dữ liệu. Chọn Loại kết nối dựa trên việc Excel (hoặc trình điều khiển Excel ODBC) của bạn là Excel 2003 trở về trước hay 2007 trở lên

Làm cách nào để chuyển đổi dữ liệu Excel thành danh sách trong Java?

Poiji chẳng là gì, mà là một thư viện Java ánh xạ trang tính excel theo chương trình tới các lớp Java . Hơn nữa, nó chuyển đổi các hàng excel thành một danh sách các đối tượng Java. Nói cách khác, nó chuyển đổi từng hàng của dữ liệu excel thành đối tượng Java. Poiji sử dụng nội bộ Apache POI để xử lý thêm loại chuyển đổi này.