时间: 2020-11-20|27次围观|0 条评论

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);
         }
}

原文链接:https://blog.csdn.net/xuanjiewu/article/details/73239131

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《Java 读取Excel表格数据日期类型转换
   

还没有人抢沙发呢~