Java Excel导出遇到的时间转换问题

这篇具有很好参考价值的文章主要介绍了Java Excel导出遇到的时间转换问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.需求是这样的

java导出excel时间格式,java,excel,开发语言

可以选择如上三种导入格式

2.java批量导入

我测试选择1、3和4方式,在Java直接get的时候会显示成数字如 第一种"44562"三四种大概都是"44555:12312312313123" 这种形式,但第二种直接get就会直接获得可以入库的标准 如"2022年1月1日 10点10分"

1)所以我们对症下药

问题背景:java中使用poi进行excel导入数据时,日期格式在数据库中存放为varchar2类型。
 
问题:存放数据日期读取数据为“44439”的数字,因判断格式类型为yyyy-mm-dd无法存放并提醒
 
解决办法:日期为“44439”的数字,无法使用SimpleDateFormat的parse方法进行转换。
 
需要引入import org.apache.poi.hssf.usermodel.HSSFDateUtil;HSSFDateUtil工具类处理时间
Date setupTime = HSSFDateUtil.getJavaDate(Double.valueOf(dateStrings));
 
dateStrings为读取的时间格式数据即:“44439”的数字,转换为data并再次自定义格式转换为string
Date setupTime = HSSFDateUtil.getJavaDate(Double.parseDouble(dateStrings));
SimpleDateFormat Format =new SimpleDateFormat("yyyy-MM-dd");
dateStrings =Format.format(setupTime);
————————————————
版权声明:本文为CSDN博主「zkhyzy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43887257/article/details/117814782

2)知识认知

varchar是标准sql里面的;varchar2是oracle提供的独有的数据类型。

varchar对于汉字占两个字节,对于数字,英文字符是一个字节,占的内存小;varchar2一般情况下把所有字符都占两字节处理。具体要看数据库使用的字符集,比如GBK,汉字就会占两个字节,英文1个,如果是UTF-8,汉字一般占3个字节,英文还是1个。

varchar对空串不处理;varchar2将空串当做null来处理。

varchar存放固定长度的字符串,最大长度是2000;varchar2是存放可变长度的字符串,最大长度是4000。

如果是要更换不同的数据库,例如mysql,那么就用varchar;如果就用oracle,那么用varchar2比较好一点。
————————————————
版权声明:本文为CSDN博主「江北有野火」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43191910/article/details/114677382

3)直接使用

        批量导入肯定实在for循环下,那么直接上代码文章来源地址https://www.toymoban.com/news/detail-537996.html

//2022年1月1日 ↓
if(importDataQuery.getDateFormat().equals(DateUtil.STANDARD_FORMAT_YMD_CH)){ 
    Date date = HSSFDateUtil.getJavaDate(Double.parseDouble(v.toString()));
    sDate = DateUtil.dateFormatToString(date, DateUtil.STANDARD_FORMAT_YMD_CH);
}
//2022年1月1日 10点10分 ↓
else if (importDataQuery.getDateFormat().equals(DateUtil.STANDARD_FORMAT_YMD_HM_CH)) { 
    Date date = DateUtil.stringFormatToDate(v.toString(),DateUtil.STANDARD_FORMAT_YMD_HM_CH);
    sDate = DateUtil.dateFormatToString(date, DateUtil.STANDARD_FORMAT_YMD_HM_CH);
}
//2022-01-01 ↓
else if (importDataQuery.getDateFormat().equals(DateUtil.STANDARD_FORMAT_YMD_P)) { 
    Date date = HSSFDateUtil.getJavaDate(Double.parseDouble(v.toString()));
    sDate = DateUtil.dateFormatToString(date, DateUtil.STANDARD_FORMAT_YMD_P);
} 
//2022-01-01 10:00:00 ↓
else if (importDataQuery.getDateFormat().equals(DateUtil.STANDARD_FORMAT_YMDHMS_P)) { 
    Date date = HSSFDateUtil.getJavaDate(Double.parseDouble(v.toString()));
    sDate = DateUtil.dateFormatToString(date, DateUtil.STANDARD_FORMAT_YMDHMS_P);
}


DateUtil工具类中的dateFormatToString 自己手New就可以
一个Date转String
public static String dateFormatToString(Date date, String format) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        return simpleDateFormat.format(date);
    }


一个String转Date
public static Date stringFormatToDate(String date, String format) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        return simpleDateFormat.parse(date);
    }

4)完美入库 

到了这里,关于Java Excel导出遇到的时间转换问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java导出Excel增加下拉框选项,解决小数据量和大数据量下拉框选项的问题

    这篇文章主要介绍了Java 导出Excel增加下拉框选项,excel对于下拉框较多选项的,需要使用隐藏工作簿来解决,使用函数取值来做选项,下文具体的操作详情,需要的小伙伴可以参考一下! excel对于下拉框较多选项的,需要使用隐藏工作簿来解决,使用函数取值来做选项 选项较

    2023年04月18日
    浏览(37)
  • Java excel poi 使用HSSFWorkbook 导出的excel wps能打开office打不开问题解决 Excel无法打开xx.xlsx,因为文件格式或扩展名无效......

    1.在开发代码中涉及到报表导出 xlsx文件 office打不开问题 JavaPOI导出Excel有三种形式,他们分别是 1.HSSFWorkbook 2.XSSFWorkbook 3.SXSSFWorkbook。 pom文件如下 检查创建sheet代码如下 代码中用了 HSSFworkbook 去创建Sheet 导致office打不开原因就在这里 HSSFworkbook 解释如下: HSSFWorkbook:是操作Exc

    2024年02月16日
    浏览(53)
  • java poi导入Excel、导出excel

    java poi导入Excel、导出excel ReadPatientExcelUtil PoiUtils FileUtils

    2024年02月15日
    浏览(43)
  • Java 导出Excel利器 JXLS(excel模板配置教程)

    相信大家能经常性的遇到项目上各类excel的导出,简单的excel格式,用简单的poi,easyExcel等工具都能导出。但是针对复杂的excel,有固定的样式、合并单元格、动态列等各类要求,导致excel 导出需要花很大一部分精力去写代码。jxls在很大程度上解决了以上问题。 这里简单介绍

    2023年04月08日
    浏览(46)
  • java导出excel(带图片)

    先看一下导出效果, controller 表头数据一定要放在最前面 ListObject head = Arrays.asList(\\\"姓名\\\",\\\"年龄\\\",\\\"性别\\\",\\\"证件类别\\\",\\\"证件号\\\",\\\"联系电话\\\",\\\"地区\\\",\\\"详细地址\\\",\\\"报名时间\\\",\\\"所属分组\\\",\\\"年度\\\",\\\"参赛类别1\\\",\\\"作品名称1\\\",\\\"作品1\\\",\\\"参赛类别2\\\",\\\"作品名称2\\\",\\\"作品2\\\"); ListListObject sheetDataList = new

    2024年02月11日
    浏览(38)
  • Java导出数据到Excel

    当今数据处理的场景中,Excel仍然是一个不可或缺的工具,用于存储、分析和共享数据。在Java应用程序中,有时候需要将数据导出到Excel文件,以便用户能够方便地查看和处理数据。本文将详细介绍如何使用Java来导出数据到Excel文件。 数据分析和可视化: Excel提供了强大的数

    2024年02月12日
    浏览(38)
  • Java使用POI导出Excel

    在项目开发中往往需要使用到Excel的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。 操作Excel目前比较流行的就是 Apache POI 和阿里巴巴的 easyExcel ! 废话不多说,开始撸起来!!! POI官网;https://poi.apache.org/ POI官网API:https://poi.

    2024年02月04日
    浏览(48)
  • JAVA excel导出 一对多合并

    最近需要实现一个导出的功能,一对多的数据 ,需要将部分字段所在列进行多行合并,像下面这样 一开始按照以往的写法,使用了阿里巴巴的easyExcel框架。因为查看easyExel官方文档,easyExcel是可以通过简单的方法实现合并的 在实体类上加上这个注解@ContentLoopMerge,并使用参数

    2024年02月12日
    浏览(39)
  • Java实现数据导出到excel文件

    使用的依赖:Apache提供的poi包 首先导入依赖  核心实现  这个工作表指的是这个 运行结果   现在你完成了往一个单元格里写数据,如果想要做成一个表格,那就需要循环 例如现在有一个需求:现在要统计学生的签到情况,需要把学生的签到记录导出到Excel表中 这里我们用假

    2024年02月11日
    浏览(41)
  • Java导出Excel并合并单元格

    需求:需要在导出excel时合并指定的单元格 项目基于若伊框架二次开发,本着能用现成的就不自己写的原则,先是尝试了@Excel注解中needMerge属性 查了一圈别人的使用,大致是需要定义一个List集合,集合元素为对象,对象中的属性标注@Excel注解,并表明name属性 照葫芦画瓢 查

    2024年01月19日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包