poi导入excel日期处理_POI处理Excel中各种日期格式问题
前不久写过一篇随笔《EXCEL解析之终极方法WorkbookFactory》,提到使用WorkbookFactory来处理Excel文件数据,最近发现一个问题就是这个办法不能很好的处理各种日期格式,比如下面这些:
那么如何将这些格式正确识别并输出呢?下面来分享一下解决方法。
其实答案已经在之前已经写过。需要回到之前比较笨重的那个办法,就是在读取单元格时对单元格中数据的种类做判断,再将数据做适当转换,POI将EXCEL数据分成以下几种类型:
CELL_TYPE_NUMERIC
CELL_TYPE_STRING
CELL_TYPE_BOOLEAN
CELL_TYPE_FORMULA
CELL_TYPE_BLANK
CELL_TYPE_ERROR
本次随笔内容主要讨论的是日期格式问题,所以要注意的是, 当type是numberic的时候,又分为数字格式和日期格式。
数字格式->如果是double类型就要读取double类型,如果是int则直接读取。使用getNumericCellValue读取数字类型。
日期格式->则需要使用POI提供的DataFormatter类的formatCellValue方法来读取日期类型单元格。
完美解决各种日期格式问题,包括中文格式日期。
运行结果如下:
提示:在判断单元格是否为日期时,由于是对XSSFcell和HSSFcell分开读取,使用的是HSSFDataUtil类的isCellDateFormatted方法,XSSFDataUtil类没有定义这个方法,进过分析POI jar包,发现它是继承于
org.apache.poi.ss.usermodel.DateUtil.isCellDateFormatted(Cell cell),于是直接使用绝对路径来指定方法,调试可以成功。
总觉得在脚本中使用这种绝对路劲比较难看,很不雅观,如果谁有更好的方法,欢迎分享,谢谢!!!
POI操作excel中的日期格式处理
转载:http://blog.csdn.net/fuxiaohui/article/details/6239925 7.3.3 POI中Excel文件Cell的类型 在读取每一个Cell的值的时候,通 ...
POI处理Excel中的日期数据类型
在POI处理Excel中的日期类型的单元格时,如果仅仅是判断它是否为日期类型的话,最终会以NUMERIC类型来处理. 正确的处理方法是先判断单元格 的类型是否则NUMERIC类型, 然后再判断单元格是 ...
java通过poi读取excel中的日期类型数据或自定义类型日期
Java 读取Excel表格日期类型数据的时候,读出来的是这样的 12-十月-2019,而Excel中输入的是 2019/10/12 或 2019-10-12 poi处理excel时,当excel没 ...
[转]使用PHPExcel判别和格式化Excel中的日期格式
From : http://renzhen.iteye.com/blog/799391 最近,在做一个导入功能,在系统中使用PHPExcel类库,读取上传的Excel文件,然后进行字段映射,最后将Ex ...
python学习笔记(excel中处理日期格式)
涉及到处理excel文件中日期格式数据 这里自己整理下 两种方法 代码如下: @classmethod def get_time(cls, table, nrows): testtime = [] f ...
最近开发的项目,遇到用户上传excel文件并导入数据到系统这个需求,而有excel中有的单元格是日期格式,本文介绍怎么从excel中读取日期格式的数据。
可以先判断单元格的类型,有的日期是字符串存储的,有的是按日期存储的(单元格按数字解析),代码如下: Cell cell = row.getCell(); Date date = null; if (c ...
java导入excel时处理日期格式(已验证ok)
在Excel中的日期格式,比如2009-12-24将其转化为数字格式时变成了40171,在用java处理的时候,读取的也将是40171.如果使用POI处理Excel中的日期类型的单元格时,如果仅仅是判 ...
利用POI获取Excel中图片和图片位置
利用POI获取Excel中图片和图片位置(支持excel2003or2007多sheet) 转自:http://blog.csdn.net/delongcpp/article/details/8833 ...
excel导入时候日期格式转成date
最近在做导入的时候发现,excel中设置数值格式是不能有日期的那些符号出现的,/ - : 之类的,否则就会变成数字到了java后台,设置成日期,比如 yyyy-mm-dd 到了后台也是数字,即距离19 ...
随机推荐
详解Maple中的基础工具栏
鉴于Maple 强大的符号计算功能,越来越多的人选择使用Maple 2015计算复杂的数学问题,初学者刚开始时需要对Maple有所熟悉才能很好地进行运用,下面就从基础开始,介绍Maple工作环境. M ...
Spring学习(一):理解IoC容器
序言 记得刚毕业那会儿,出来招工作被问到Spring的核心时,都觉得简单的一笔,直接说不就是IoC(控制反转)和DI(依赖注入)么,然后省略一万字对两个名词的解释.最近空来整理了一下Spring中Io ...
javaWeb2之Jsp
Java Server Page 放在除WEB-INF(放web项目的隐私文件)外的其他任何目录中. Java服务器端网页,实现在HTML页面编写Java代码实现动态内容,一种简化Servlet编写的 ...
server.xml引入子文件配置(tomcat虚拟主机)
在配置tomcat虚拟主机时候,如何每一个虚拟主机写成单独文件,server.xml包含这些子文件? 如以下中,添加JAVA环境虚拟主机后tomcat配置文件详情: ...
VS下.net开发常用扩展、配置
Vue.js Pack Copy As Html HTML Tools Word Highlight With Margin 绿豆沙颜色:R:199 G:237 U:204
C++学习(十四)(C语言部分)之 数组
上期回顾:三大循环 for while do while (循环体至少会执行一次)四大跳转 goto continue(提前跳出当前循环 进入下一个循环) break(跳出本次循环) return(跳 ...
1.Java基础概念.md
类 •类是Java的最小程序单位,所有程序必须放到类里. •Java中只可以有一个public类,且源文件名称必须和public类名称一致(建议) •Java的main方法: public stati ...
233 Matrix(hdu5015 矩阵)
233 Matrix Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
使用webpack配置react并添加到flask应用
学习react,配置是很痛苦的一关,虽然现在有了create-react-app这样方便的工具,但是必须要自己配置一遍,才能更好地进行项目开发. 首先要明确一个概念:react的文件必须经过编译才能被 ...
Oracle——序列、索引、同义词
一.常见的数据库对象 二.序列 序列: 可供多个用户用来产生唯一数值的数据库对象 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率 ①.创建序列 CREATE SEQ ...
poi导入excel日期处理_POI处理Excel中各种日期格式问题相关推荐
- java导出excel 边框不全_POI 导出Excel合并单元格后部分边框不显示
用户需要导出自定义表格,其中合并单元格样式遇到的问题,合并后只显示第一行第一列的边框,其他边框不显示,于是遍查百度,寻到一点思路 ①了解Excel绘制原理 ②了解绘制Excel顺序 ③绘制Excel单 ...
- vue2.0 使用xlsx读取excel文件数据 操作流程 以及文件中特殊日期数据的处理
1. 安装xlsx依赖 cnpm install xlsx --save 2.需要处理的文件 这里有一个转换中经常会遇见的问题,就是带有反斜杠的日期数据被转换成了一串数字,在接下来的演示中提供了我现在 ...
- Excel怎么快速删除工作表中的条件格式
今天跟大家分享一下Excel怎么删除表格中的条件格式. 1.如下图表格中含有部分条件格式,现在我们想要将工作表中的条件格式快速删除掉. 2.首先我们点击下图选项(Excel工具箱,百度即可了解详细下载 ...
- dorado 中的日期--》oracle中的日期
一.在类中得到dorado 中的VIEW,根据VIEW取得dataset,将dataset中Date列取出来,存到oracle中的Date列: SimpleDateFormat dateFormat ...
- ruby 将日期转化为时间_Ruby中的日期和时间类
ruby 将日期转化为时间 Ruby数据和时间类 (Ruby Data and Time Classes) In any program written in any language, at any ...
- SQL获得当前的日期和时间与DB2 中操作日期和时间
星期六 2007年08月18日 要使用 SQL 获得当前的日期.时间及时间戳记,请参考适当的 DB2 寄存器: SELECT current date FROM sysibm.sysdummy1 SE ...
- JavaScript 日期比较——如何在 JS 中比较日期
日期是开发人员在创建实际应用程序时最常用的数据类型之一. 但通常,开发人员会在这种数据类型上苦苦挣扎,最终使用像 Moment.js 这样的日期库来完成简单的任务,这些任务不值得安装整个包所带来的大包 ...
- poi导入excel日期处理_poi解析excel读取日期为数字的问题
Apache poi 版本:3.12 今天在用poi解析excel文件时,碰到一个蛋疼的问题. 在我的excel文件中有一列是日期类型,例如有以下这么一行数据(日期中月份前面的0会自动去掉): 在读取 ...
- poi导出数据文件名错误_POI导出Excel报错“扩展名与文件的格式不匹配”
下面是我用POI导出Excel的实例: 依赖的jar包 org.apache.poi poi 4.0.1 工具类 public class ExportExcel { // 显示的导出表的标题 pri ...
最新文章
- Keepalived配置文件
- Ubuntu安装OMNet++及各种问题
- Passing the Message(HDU-3410)
- CallBack函数 回调函数
- Windows2003开机后进不了系统
- 04---Net基础加强
- mysql pheonix hbase,mybatis连接phoenix操作hbase
- Linux内核--网络栈实现分析(一)--网络栈初始化
- 微软Outlook邮箱绑定域名邮箱教程自定义方法
- 在plc中用c语言实现电梯控制程序,基于PLC的电梯控制系统的设计与实现[论文+答辩ppt+完整程序代码]...
- 苹果手机上编辑html文件夹,苹果手机可以编辑EXCEL文件吗
- 使用国外服务器的注意事项
- TGRS2021:Road Segmentation for Remote Sensing ImagesUsing Adversarial Spatial Pyrami对抗性空间金字塔网络的道路分割
- 鸿蒙调出安卓10彩蛋,暂时忘记鸿蒙!华为 EMUI 10.0 发布时间确认:这才是主角...
- css实现图片自动渐变切换、element-plus 的修改el-table的(边框线为虚线、表头样式)
- 【电机】使用Simulink建立BLDC反电动势测量的简单模型
- python打印Excel文件方法
- Linux 缓存释放和管理
- 泛微E9IDEA开发环境配置非maven篇
- Linux应用程序开发笔记:nanopi-m4(rk3399)camera isp(附OV4689 4-lane-MIPI驱动,支持1080p@120fps)