感谢来自Youtube的Ram Alapure的帮助。

当我尝试从Excel导入数据时要记住两件事。

1.突出显示所有空单元格和清晰内容。在此之前,我会得到

错误无法从STRING单元格获取NUMERIC值,如果我从getStringCellValue()更改为getDateCellValue(),我将收到错误无法从NUMERIC单元格获取STRING值。它就像薛定谔的猫

对NullPointerException使用try catch。

以下是我的工作代码。

FileInputStream fileIn = new FileInputStream(filename);

Workbook wb = new XSSFWorkbook(fileIn);

Sheet sheet = wb.getSheetAt(0);

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");

Row row;

for (int i=1; i<=sheet.getLastRowNum(); i++){

row = sheet.getRow(i);

System.out.println(row.getCell(5));

try{

if(row.getCell(5).getDateCellValue() == null){

Date date = new Date(); // set any default value

pst.setObject(6, null); // or you can set it to null if null is allowed i.e. pst.setObject(6, null);

}else{

pst.setObject(6, sdf.format(row.getCell(5).getDateCellValue()));

}

pst.setObject(1, row.getCell(0).getNumericCellValue());

pst.setString(2, row.getCell(1).getStringCellValue());

pst.setObject(3, sdf.format(row.getCell(2).getDateCellValue()));

pst.setObject(4, sdf.format(row.getCell(3).getDateCellValue()));

pst.setString(5, row.getCell(4).getStringCellValue());

pst.setObject(6, sdf.format(row.getCell(5).getDateCellValue()));

pst.setDouble(7, row.getCell(6).getNumericCellValue());

}catch(NullPointerException NPE)

{

}

pst.execute();

}

wb.close();

fileIn.close();

pst.close();

rs.close();

loadDataFromDatabase();

}catch (SQLException ex){

Logger.getLogger(TestTableController.class.getName()).log(Level.SEVERE,null,ex);

}catch (IOException ex){

Logger.getLogger(TestTableController.class.getName()).log(Level.SEVERE,null,ex);

}

}

}

java过去不到空单元格,Java POI。空白时跳过单元格相关推荐

  1. java 多态判断非空_收藏Java 面试题全梳理

    脚本之家 你与百万开发者在一起 来源 | Java建设者(ID:javajianshe) 作者 |cxuan 如若转载请联系原公众号 Java 基础篇 Java 有哪些特点 并发性的:你可以在其中执行 ...

  2. java excel row遍历空_用Java巧妙的解析Excel中的POI

    原标题:用Java巧妙的解析Excel中的POI 相信各位小伙伴们,在做Java开发的时候,有时候会需要你用Java语言去解析Excel中的POI,这个时候肯定很多小伙伴们会懵逼,那么究竟是怎么实现的 ...

  3. java double类型判空,简单封装JAVA空判断

    在项目开发过程中,面对各种各样的对象,如果稍不注意,就会发生NULL空指针报错;是不是很烦恼,特别是对重要的参数判读; 经过总结,把各种类型的空判断进行了简单的封装,对新手还是很方便的; packag ...

  4. Java Optional容器判空处理

    Java Optional容器判空处理 1. Java判空概述 2. Java判空方式 2.1 普通判空方式 2.2 Optional判空方式 1. Java判空概述 Java判空方式有很多多,可以i ...

  5. java读取合并单元格_Java POI常用方法,读取单元格的值,设置单元格格式,合并单元格,获取已合并的单元格,导出至本地等...

    一.设置单元格格式. 设置单元格边框.单元格背景颜色.单元格对齐方式.单元格字体,设置自动换行. /** Description: 设置单元格格式. * @author : ys. * @date : ...

  6. Java POI:如何读取Excel单元格值而不是计算公式

    我正在使用Apache POI API从Excel文件中获取值. 除了含有公式的单元格外,一切都很好.实际上,cell.getStringCellValue()返回单元格中使用的公式而不是单元格的值. ...

  7. Java Excel 复制单元格 poi Excel 复制单元格 Java Excel 复制行 Java Excel 复制 sheet 页 poi excel copy

    Java Excel 复制单元格 poi Excel 复制单元格 Java Excel 复制行 Java Excel 复制 sheet 页 一.前言 1.本文记录 poi excel 实现 单元格ce ...

  8. java excel 单元格类型,POI Excel 单元格内容类型判断并取值

    个人用到的 String birthdayVal = null; switch (cell_2.getCellTypeEnum()) { case STRING: birthdayVal = cell ...

  9. java excel列宽自动换行_Excel单元格中数据如何自动换行以便适应单元格的大小

    Excel单元格中数据如何自动换行以便适应单元格的大小 时间:2014-04-26   作者:snow   来源:互联网 在处理数据的过程中难免会遇到一些问题,而我们并不可能在第一时间内解决,就比如在 ...

最新文章

  1. 【c语言】float强制转换为int类型
  2. 如何在Python Interpreter中重新导入更新的包? [重复]
  3. JavaScript两个数组是否有相同元素
  4. matlab读取pdb文件,使用BioPython读取.pdb文件的整个目录
  5. activiti实现跳转节点的方法
  6. 手写自己的MyBatis框架-SqlSession
  7. MCU提高ADC采样精度的几种方案
  8. 计蒜客挑战难题:A+B+C问题
  9. 性能测试--jmeter的参数类型【5】
  10. history(路由控制)
  11. 计算机崩溃用英语怎么说,“我要崩溃了”英语怎么说?
  12. 有C++特色的极乐净土
  13. opensuse13.1(x64) ibus 添加五笔失败
  14. npm install 时报错:npm WARN vueproject@1.0.0 No repository field.(缺少repository字段)
  15. Mac生成和查看SSH Key
  16. 阿里云发布企业云原生IT成本治理方案:五大能力加速企业 FinOps 进程
  17. 裸奔的智能插座:博联Broadlink SP2/SP mini的分析、破解
  18. 这些电脑小技巧可以让你在朋友圈很时髦!
  19. 芯擎科技正式发布“龍鹰一号”,引领“中国智造”智能座舱芯片新篇章
  20. ubuntu 16.04网速慢解决方案

热门文章

  1. 中文版开源!这或许是最经典的 Python 编程教材
  2. 你绝对想不到,会Linux的程序员,到底有多吃香!
  3. “敏捷项目管理就是胡闹!”
  4. 华为紧急调试鸿蒙;首个 5G 全覆盖国家诞生;Flutter 1.7 正式发布 | 极客头条
  5. 微信停机断网可充话费;苹果正研发可折叠屏幕 iPad;Rust 1.36.0 发布 | 极客头条...
  6. 如何不让两个攻城狮每天黏在一起?把他俩负责的系统解耦吧!
  7. 张一鸣、王欣和罗永浩的社交梦
  8. Android 十年,Google 用 AI 为它画了个句号
  9. 谁会最先陨落:Google,苹果,Facebook,还是微软?
  10. 当科学家遇上流氓,被喧哗炒作的量子通信技术又将何时落地?