Java 读取Excel表格数据日期类型转换

来源:互联网 发布:网络文学评论停刊 编辑:程序博客网 时间:2024/06/06 02:18

Java 读取Excel表格日期类型数据的时候,读出来的是这样的  13-十二月-2017,而Excel中输入的是 2017/12/13 或 2017-12-13

还有Excel中输入的是整型 5,java 读取出来的是5.0

这可怎么整?

解决方法:

日期转换

import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;
 
Workbook workBook = (Workbook)ModelUtils.getRequestContext().getActionContext().getParameter("excel");
Sheet sheet = workBook.getSheetAt(0);
int fr = sheet.getPhysicalNumberOfRows() - 4;
for(int i=0;i<fr;i++){
    int r = 4+i;
    org.apache.poi.ss.usermodel.Row rowDetail = sheet.getRow(r);
    String guarantee_date = "";
         Cell dateCell = rowDetail.getCell(2);

         //判断是否为日期类型
         if(0==dateCell.getCellType()){  
        if(DateUtil.isCellDateFormatted(dateCell)){
        //用于转化为日期格式
        Date d = dateCell.getDateCellValue();
        DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
        guarantee_date = formater.format(d);
            }

         }
         System.out.println(guarantee_date);


         //------------整型数量格式处理--------------
         String countStr = rowDetail.getCell(3).toString();
         Integer count = 0;
         System.out.println("入库数量:"+countStr);
         if(countStr.indexOf(".")>=0){
        System.out.println(". 位数: "+ countStr.indexOf("."));
        countStr = countStr.substring(0, countStr.indexOf("."));
        count = Integer.valueOf(countStr);
         }
}