2013-08-19 1074 views
7

Hiện nay tôi có mã của tôi nhưPOF POI: Làm cách nào để biết liệu dữ liệu trong ô có thuộc Loại Ngày không?

bean.setREPO_DATE(row.getCell(16).getDateCellValue()); 

nó hoạt động tốt nếu ô được định dạng như ngày trong excel.

Tuy nhiên, nó cũng chuyển đổi một số số nguyên hoặc dài như 1234 hoặc 5699 cho đến nay. Tôi cũng biết lý do đằng sau chuyện này.

Tuy nhiên, tôi muốn áp dụng séc trước khi thực hiện dòng trên. Một cái gì đó như

này
if(row.getCell(16).isOfDateFormat){ 
bean.setREPO_DATE(row.getCell(16).getDateCellValue()); 
} 

Hãy Hướng dẫn tôi ..

Cảm ơn trước!

+0

thể trùng lặp của [XSSF POI là ngày tế bào] (http://stackoverflow.com/questions/6677326/xssf-poi-is-cell- date) – Jayan

+0

Xin lỗi vì tôi đã thực sự tìm kiếm nó trước khi đăng câu hỏi –

+0

@ Abhishek Singh: nó không hoàn toàn trùng lặp (mặc dù bạn có thể api trong câu trả lời đó. Tôi đã bỏ phiếu bầu) – Jayan

Trả lời

13

Hãy thử điều này,

sử dụng import org.apache.poi.ss.usermodel.DateUtil;

if(DateUtil.isCellDateFormatted(cell)) 
    { 
     cell.getDateCellValue(); 
    } 
+0

Cảm ơn bạn đã làm việc cho tôi. u có thể xin vui lòng cho tôi biết làm thế nào để kiểm tra xem giá trị trong tế bào là tỷ lệ phần trăm hoặc số bình thường? – user3217843