Sharecs.net
  • Trang chủ
  • Thủ Thuật
    • Thủ thuật máy tính
      • Windows
      • MacOS
      • Linux
    • Thủ thuật internet
    • Thủ thuật phần mềm
  • Phần Mềm
  • Lỗi máy tính
    • Lỗi internet
    • Lỗi windows
    • Lỗi phần mềm
  • Lập Trình
    • Lập Trình Java
    • Lập trình Python
    • Lập Trình React Native
    • Code Hay
  • Linh Tinh
    • PhotoShop
    • Tải Video Wallpaper
    • Kho Tools
      • Cân Bằng Phương Trình Hóa Học
      • Custom Css Scrollbar – Render Code
      • Tạo Kí Tự Đặc Biệt Online
      • Tạo Deep Link
    • Tài Liệu – Luận Văn – Báo Cáo
    • Kho Theme Website WordPress
No Result
View All Result
  • Trang chủ
  • Thủ Thuật
    • Thủ thuật máy tính
      • Windows
      • MacOS
      • Linux
    • Thủ thuật internet
    • Thủ thuật phần mềm
  • Phần Mềm
  • Lỗi máy tính
    • Lỗi internet
    • Lỗi windows
    • Lỗi phần mềm
  • Lập Trình
    • Lập Trình Java
    • Lập trình Python
    • Lập Trình React Native
    • Code Hay
  • Linh Tinh
    • PhotoShop
    • Tải Video Wallpaper
    • Kho Tools
      • Cân Bằng Phương Trình Hóa Học
      • Custom Css Scrollbar – Render Code
      • Tạo Kí Tự Đặc Biệt Online
      • Tạo Deep Link
    • Tài Liệu – Luận Văn – Báo Cáo
    • Kho Theme Website WordPress
No Result
View All Result
Sharecs.net
No Result
View All Result
Home Lập Trình Lập Trình Java

Import Excel Spring Boot – Đọc dữ liệu từ file Excel và lưu vào Database – P2

Nguyễn Tuấn by Nguyễn Tuấn
06/12/2022
0
0
SHARES
18
VIEWS

Nối tiếp phần 1 mình đã hướng dẫn các bạn tạo abstract class và validator dùng chung. Các bạn có thể xem tại đây:

How To Import Excel Spring Boot – Trả Lỗi Trong File

Mục Lục

  • 1 Import Excel Spring Boot In Java
    • 1.1 Khởi tạo class DTO
    • 1.2 Tầng Controler
    • 1.3 Tầng Service
    • 1.4 Tầng Validator Import File Excel

Import Excel Spring Boot In Java

Khởi tạo class DTO

Đầu tiên mình sẽ tạo class dto với các trường có trong file excel để nhận dữ liệu. Tất nhiên có DTO thì mình phải có cả entity class với 3 trường như dưới. Entity thì file tên là Excel.class với cá trường bên dưới mình không viết lại nha.

@Data
@NoArgsConstructor
@AllArgsConstructor
@DataExcelCheckDuplication
public class ExcelDTO {

    public ExcelDTO (String code, String name) {
        this.code = code;
        this.name= name;
    }

    @ExcelCell(0)
    @NotBlank(message = "name_empty")
    @Size(max = 200, message = "name_validation_size")
    public String name;

    @ExcelCell(1)
    @NotBlank(message = "code_empty")
    @Size(max = 255, message = "code_validation_size")
    public String code;

    @ExcelCell(2)
    @NotNull(message = "value_empty")
    @Digits(integer = 9, fraction = 2, message = "value_invalid")
    public BigDecimal value;

}
import excel trong java
mẫu file excel

Tầng Controler

    @PreAuthorize("hasAuthority('IMPORT_EXCEL')")
    @PostMapping(value = "/importExcel", consumes = {"multipart/form-data"})
    public ResponseEntity<?> importExcel(@RequestPart("file") MultipartFile file, HttpServletResponse response, Locale locale) {
        if (!Constants.FILE_TYPE_ALLOWED.contains(file.getContentType())) {
            // Trả ra thông báo lỗi file không đúng định dạng
        }
        excelService.importExcel(file, response, locale);
        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
    }

Tầng Service

    private final ModelMapper mapper;

    private final ExcelRepository excelRepository;

    private final MessageSource messageSource;

    /**
     * @param file
     * @param response
     * @param locale
     */
    public void importExcel(MultipartFile file, HttpServletResponse response, Locale locale) {
        ImportExcelValidator<ExcelDTO, Excel> excelValidator = new ExcelImportValidator(file, Constants.EXCEL_HEADER_START, locale, mapper, excelRepository, messageSource);
        excelValidator.validatePre().thenReturnExcelIfError(response);
        // Check validate and Save data
        List<Excel> excels = excelValidator.validate().thenReturnExcelIfError(response).thenMappingAndReturnDestinationObjects();

    }

Trong đó có 1 số cái các bạn cần để ý:

  • Mình sẽ gọi abstract ImportExcelValidator.class ( bài trước đã viết để sử dụng )
  • EXCEL_HEADER_START : Dòng bắt đầu trong excel, không tính dòng tiêu đề. Như ảnh file excel trên thì sẽ là dòng 2
  • locale : là ngôn ngữ

Tầng Validator Import File Excel

5/5 - (1 bình chọn)
Tags: excel in javaimport exceljava
ShareSendTweetShare

Cùng chuyên mục

Annotations @Controller and @RestController Trong Spring

Annotations @Controller and @RestController Trong Spring

05/02/2023
8
How to Convert String to XML in Java ?

How to Convert String to XML in Java ?

19/01/2023
6
Đồ Án Tốt Nghiệp Quản Lý Trang Thiết Bị && Full Báo Cáo

Đồ Án Tốt Nghiệp Quản Lý Trang Thiết Bị && Full Báo Cáo

11/12/2022
25
How To Import Excel Spring Boot – Trả Lỗi Trong File

How To Import Excel Spring Boot – Trả Lỗi Trong File

30/11/2022
39
Subscribe
Notify of
guest

guest

0 Comments
Inline Feedbacks
View all comments

Tài nguyên

Cân bằng phương trình phản ứng hóa

Tạo deep link

Custom Css Scrollbar – Render Code

Bài Viết Nổi Bật

  • Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

    Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

    1 shares
    Share 0 Tweet 0
  • Hatsune Miku Anime Wallpaper Video 4k

    0 shares
    Share 0 Tweet 0
  • Thư viện đồ họa trong Python – Vẽ doraemon

    0 shares
    Share 0 Tweet 0
  • Thư viện đồ họa trong Python – Vẽ Pikachu

    0 shares
    Share 0 Tweet 0
  • Download Video Wallpaper Agatsuma Zenitsu – Anime Kimetsu No Yaiba

    45 shares
    Share 0 Tweet 0
  • Trending
  • Comments
  • Latest
Hatsune Miku Anime Wallpaper Video 4k

Hatsune Miku Anime Wallpaper Video 4k

30/01/2023
Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

31/08/2020
Download Video Wallpaper Agatsuma Zenitsu – Anime Kimetsu No Yaiba

Download Video Wallpaper Agatsuma Zenitsu – Anime Kimetsu No Yaiba

16/12/2022
Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

Thư viện đồ họa trong Python – Vẽ doraemon

09/12/2020
Cách Kích Hoạt Key Win 11 Bản Quyền –Active Win 11 – Win 10 Free

Cách Kích Hoạt Key Win 11 Bản Quyền –Active Win 11 – Win 10 Free

1
Annotations @Controller and @RestController Trong Spring

Annotations @Controller and @RestController Trong Spring

05/02/2023
Sự Cố Năm 2038 – Lỗi Đồng Hồ Trên Máy Tính

Sự Cố Năm 2038 – Lỗi Đồng Hồ Trên Máy Tính

05/02/2023
5 cách mà máy ảnh sẽ phát triển vào năm 2023 – Tốt và Xấu

5 cách mà máy ảnh sẽ phát triển vào năm 2023 – Tốt và Xấu

22/01/2023
Tòa án Ấn Độ bác bỏ yêu cầu của Google để chặn phán quyết chống độc quyền Android

Tòa án Ấn Độ bác bỏ yêu cầu của Google để chặn phán quyết chống độc quyền Android

21/01/2023

Phản hồi gần đây

  • Crom trong Cách Kích Hoạt Key Win 11 Bản Quyền –Active Win 11 – Win 10 Free
  • ngu trong Anime Wallpaper Video 4k – Anime Kanao Tsuyuri Kimetsu no Yaiba
  • thiem trong Share Phôi Chứng Minh Nhân Dân PSD
  • Nguyễn Tuấn trong Ứng Dụng Thuật Toán Hồi Quy Tuyến Tính Để Chẩn Đoán Xơ Vữa Động Mạch 2021

Donate

Mời Share’cs ly Cafe 

Liên hệ quảng cáo

Email: Sharecs.net@gmail.com

Hợp tác nội dung: Sharecs rất vinh dự được mời các bạn đóng góp những sản phẩm thiết kế, thủ thuật hay những chia sẻ hữu ích… để cùng chia sẻ rộng rãi tới mọi người!

Giới Thiệu

Sharecs.net là một website/blog cá nhân, chuyên chia sẻ những kiến thức xoay quanh công nghệ như máy tính, internet, phần mềm, lập trình,... Mình hi vọng, Sharecs sẽ mang lại những kiến thức mà bạn chưa từng được học trên ghế nhà trường!

  • Giới Thiệu & Liên Hệ
  • Chính Sách Bảo Mật

CopyRight By Sharecs.net DMCA.com Protection Status

No Result
View All Result
  • Trang chủ
  • Thủ Thuật
    • Thủ thuật máy tính
      • Windows
      • MacOS
      • Linux
    • Thủ thuật internet
    • Thủ thuật phần mềm
  • Phần Mềm
  • Lỗi máy tính
    • Lỗi internet
    • Lỗi windows
    • Lỗi phần mềm
  • Lập Trình
    • Lập Trình Java
    • Lập trình Python
    • Lập Trình React Native
    • Code Hay
  • Linh Tinh
    • PhotoShop
    • Tải Video Wallpaper
    • Kho Tools
      • Cân Bằng Phương Trình Hóa Học
      • Custom Css Scrollbar – Render Code
      • Tạo Kí Tự Đặc Biệt Online
      • Tạo Deep Link
    • Tài Liệu – Luận Văn – Báo Cáo
    • Kho Theme Website WordPress

CopyRight By Sharecs.net DMCA.com Protection Status