0
Xử lí dữ liệu excel - java
Hi mọi người, Mình đang có 2 issue khi xử lí dữ liệu excel với Java.
- issue đầu tiền là : file excel đấy có thể có các thông tin mình k cần dùng, mình tạm gọi là thông tin rác. ví dụ như: số điện thoại, địa chỉ,.... Giống như header vậy. Hiện tại thì số dòng của header đấy đang dynamic - fix cứng thì quá dễ để xử lí r đúng không =]]]]]
- Issue thứ 2 là : file excel đấy sẽ có thể có nhiều hàng nhiều cột merge lại? làm sao để mình đọc được những dữ liêu đấy.
Do dữ liệu mình cần xử lí khá lớn, vài triệu row, nên hy vọng có cách nào performce tốt xíu, chứ lặp 2 vòng for thì cũng hơi đuối xíu =]]]]].
Thanks mn, Have a good day !!!!
Thêm một bình luận
1 CÂU TRẢ LỜI
+1
- Thường thì các thư viện excel với java sẽ ít hỗ trợ xử lý dữ liệu phức tạp, tốt hơn là bạn chỉ nên sử dụng java để đọc và lưu trữ dữ liệu thô trực tiếp vào DB hay data warehouse chẳng hạn, rồi từ đó sử dụng các tool hay các framework để xử lý dữ liệu, loại bỏ data rác sau.
- Việc nhiều hàng hay cột merge lại với nhau đều có thể đọc được bình thường với các thư viện của java. Ví dụ Apache POI hay FastExcel. Dữ liệu trong file excel khoảng vài triệu bản ghi thì sẽ không thể xử lý theo cách truyền thống load hết lên memory rồi for loop 2 vòng được, làm theo hướng này khả năng cao là out of memory, tốt nhất là nên xử lý theo hướng streaming data. Bạn có thể tham khảo thư viện FastExcel: https://github.com/dhatim/fastexcel