13 điểm bởi danpung2 2026-03-30 | 4 bình luận | Chia sẻ qua WhatsApp

Xin chào, tôi là nhà phát triển tạo ra StreamSheet.

Trong quá trình làm việc thực tế, khi triển khai tính năng xuất Excel, vấn đề OOM (OutOfMemory) xảy ra khá thường xuyên, và mỗi lần phát sinh thì tôi lại phải chỉnh sửa riêng lẻ.
Mỗi khi tạo tính năng xuất Excel, tôi cũng phải lặp đi lặp lại việc viết boilerplate.
Sau khi liên tục gặp những vấn đề trên trong thực tế, tôi đã muốn tạo một SDK có thể xuất dữ liệu dung lượng lớn ra tệp Excel một cách đơn giản.

[Mục tiêu của dự án]

Quảng cáo

Độ ổn định bộ nhớ: Hoạt động ổn định không bị OOM khi xuất hơn 1 triệu dòng dữ liệu thông qua JPA Stream, JDBC ResultSet, MongoDB Cursor, v.v.
Tính dễ dùng: Chỉ cần gắn @ExcelSheet, @ExcelColumn vào DTO để định nghĩa cột một cách đơn giản
Khả năng tích hợp: Có thể dùng ngay với Spring Boot Auto-configuration

Mong mọi người xem qua và cho tôi xin phản hồi..

4 bình luận

 
jogakdal 2026-04-07

Hãy thử thư viện tạo báo cáo Excel dựa trên mẫu (TBEG).

https://github.com/jogakdal/data-processors-with-excel

 
callakrsos 2026-03-30

Excel có giới hạn số hàng tối đa,
nên nếu dữ liệu rất lớn thì dùng CSV không phải tốt hơn sao?

 
danpung2 2026-03-30

Đúng như bạn nói, Excel có giới hạn tối đa khoảng 1,04 triệu hàng, nên với dữ liệu dung lượng lớn thì CSV có thể là lựa chọn phù hợp hơn, và bản thân tôi cũng khá chuộng CSV.

Tuy vậy, vì đa số những người từng yêu cầu tính năng xuất dữ liệu đều ưu tiên định dạng Excel, nên đây là dự án được bắt đầu nhằm giảm việc phải viết đi viết lại mã nguồn và hạn chế vấn đề OOM trong quá trình đó.

Cảm ơn ý kiến đóng góp của bạn!

 
hshim 2026-03-31

Theo kinh nghiệm thực tế của tôi, có vẻ khách hàng thường thích Excel hơn CSV.
Trường hợp của tôi cũng vậy, nên chắc chắn sẽ có nhu cầu.