Tôi không nghĩ rằng chúng tôi đã có lớp học này trở lại khi bạn đặt câu hỏi, nhưng hôm nay có một câu trả lời dễ dàng.
Những gì bạn muốn làm là sử dụng lớp DataFormatter . Bạn truyền cho một ô này và cố gắng trả lại cho bạn một chuỗi chứa những gì Excel sẽ hiển thị cho bạn cho ô đó. Nếu bạn truyền cho nó một ô chuỗi, bạn sẽ lấy lại chuỗi. Nếu bạn truyền cho nó một ô số với các quy tắc định dạng được áp dụng, nó sẽ định dạng số dựa trên chúng và trả lại cho bạn chuỗi.
Đối với trường hợp của bạn, tôi giả sử rằng các ô số có quy tắc định dạng số nguyên được áp dụng cho chúng. Nếu bạn yêu cầu DataFormatter định dạng các ô đó, nó sẽ trả lại cho bạn một chuỗi có chuỗi số nguyên trong đó.
Ngoài ra, lưu ý rằng nhiều người khuyên bạn nên làm cell.setCellType(Cell.CELL_TYPE_STRING)
, nhưng Apache POI JavaDocs nói rõ rằng bạn không nên làm điều này ! Thực hiện setCellType
cuộc gọi sẽ mất định dạng, vì javadocs giải thích cách duy nhất để chuyển đổi thành Chuỗi với định dạng còn lại là sử dụng lớp DataFormatter .