SpringBoot中使用POI实现Excel导入到数据库(图文教程已实践):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/88660466
在进行导入时,在导入数据库之前需要进行时间格式的验证,确保不会乱输入数据。
//日期格式加校验
Cell deliveryTimeCell = row2.getCell(3);
if(deliveryTimeCell!=null){
//如果是数值类型
if(deliveryTimeCell.getCellType()==0){
if(HSSFDateUtil.isCellDateFormatted(deliveryTimeCell)){
//获取送货日期
Date deliveryTime =deliveryTimeCell.getDateCellValue();
receiveOrder.setDeliveryTime(deliveryTime);
}else{
//设置送货时间为红色
CellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(IndexedColors.RED.getIndex());
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
deliveryTimeCell.setCellStyle(style);
isValidatePass=false;
}else{
//设置送货时间为红色
CellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(IndexedColors.RED.getIndex());
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
deliveryTimeCell.setCellStyle(style);
isValidatePass=false;
deliveryTimeCell.getCellType()==0是因为0代表是数值类型。
而数值类型又包括时间和数字。
NUMERIC | 数值型 | 0 |
STRING | 字符串型 | 1 |
FORMULA | 公式型 | 2 |
BLANK | 空值 | 3 |
BOOLEAN | 布尔型 | 4 |
ERROR | 错误 | 5 |
前几天项目上需要加上导入导出,在网上找了一下,么有合适的!于是自己写,源码里所需要的jar都有,从jsp界面进行Excel的导入导出,并可用于上传和下载。如有所用,喜不自禁,分享,开源的意义。
写的不是特别好,不喜勿喷!
下面的代码检查Excel文件的第一个单元格是否包含日期值。在Excel中,日期的单元格类型返回为HSSFCell.CELL_TYPE_NUMERIC,以确保它是否包含日期,我们可以使用实用程序方法HSSFDateUtil.isCellDateFormatted(HSSFCell cell),该方法将检查单元格值是否为有效日期。packageorg.nhooo.example.poi;import...
当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常如下需求:把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。这样在我们实际的开发中,很多时候需要实现导入、导出Excel的应用。这个如果自己从零开始做还比较麻烦。比如我之前就职的公司都是自己做的组件,但是很不好用,BUG 太多。关于表格导入导出,市面上比较知名的开源就是 Apache 的POI 和 阿里巴巴的 EasyExcel了 通过本课程学习让大家快速通关Java对Excel操作,掌握POI和EasyExcel相关应用,彻底搞定Excel导入导出问题。
问题背景:java中使用poi进行excel导入数据时,日期格式在数据库中存放为varchar2类型。
问题:存放数据日期读取数据为“44439”的数字,因判断格式类型为yyyy-mm-dd无法存放并提醒
解决办法:日期为“44439”的数字,无法使用SimpleDateFormat的parse方法进行转换。
需要引入import org.apache.poi.hssf.usermodel.HSSFDateUtil;HSSFDateUtil工具类处理时间
Date setupTime = HSSFDa
//定义中国时间格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//注意加上[.getDateCellValue()] 才能得到 HH:mm:ss
String time = row.getCell(7).getDateCellValue().to
Excel本身支持很多格式日期,在导入Excel总是容易出问题,这里整理了常用的一些格式,可以有效转化为JAVA的Date类型,其中包括Excel的单元格设置里面的“日期”、“时间”和”自定义格式“,君自取。
项目开发中,Excel导入导出一直是比较重要并且常见的一个功能,之前在项目开发中一直使用的是Apache poi,最近发现alibaba推出的一个框架Easy Excel ,官网地址:EasyExcel官网,好奇心驱使下想尝试着使用一下。经过一段时间使用之后现将自己使用过程中感觉到的优缺点总结一下。
优点:EasyExcel正如他官网宣称的那样特别节省内存,而且如果你的excel表格是比较规整的数据并且列正好和你java实体类的字段对应的比较好,那使用这个框架还是比较方便,加上简单的注...
@ExcelProperty(value = "使用日期",converter = DateConverter.class)
@DateTimeFormat("yyyy/MM/dd")
@JsonFormat(pattern = "yyyy/MM/dd",timezone = "GMT+8",shape = JsonFo
EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。: 日期转换,用String去接收excel日期格式的数据会调用这个注解。: 用于匹配excel和实体类的匹配。