Aspose.cell excel转pdf日期格式不正确yyyy/MM/dd变成MM/dd/yyyy

news2024/9/20 18:44:24

最近使用Aspose.cell将excel转pdf过程中excel中时间格式列的显示和excel表里的值显示不一样。
excel里日期格式 yyyy/MM/dd
pdf里日期格式MM/dd/yyyy

主要原因:linux和windows里内置的时间格式不一致,当代码部署到linux服务器的时候转换格式就会发生不一致的问题。
解决方法:使用apache poi获取aspose遍历所有的CELL判断其类型,若是日期格式则手动格式化日期格式并将单元格设置成String类型。

接下来详细讲解怎么操作。

例:这边的的B列设置了时间格式且显示是yyyy/MM/dd
在这里插入图片描述
但转成pdf过程中却格式变样了变成MM/dd/yyyy

在这里插入图片描述
在这里插入图片描述

/**
   对excel里所有单元格进行遍历,判断单元格类型是Numeric且是时间类型,
   类型==14)则进行日期格式化且将cell类型设置成String
   单元格为自定义类型的时候,cell.getCellStyle().getDataFormat()值:
  yyyy-MM-dd---->14
  yyyy年m月d日--->31
  yyyy年m月------>57
  m月d日  -------->58
  HH:mm--------->20
  h时mm分  ------>32
 */
public void formatterAllDateCellStyle(POIUtils poiUtils) {
        Sheet sheet = poiUtils.getSheet();
        // 遍历行Row
        // 获取sheet中的总行数
        int rowTotalCount = sheet.getLastRowNum();
        for (int i = 0; i <= rowTotalCount; i++) {
            // 获取第i列的row对象
            Row row = sheet.getRow(i);
            //解决空白行问题
            if (row == null) {
                continue;
            }
            //获取总列数
            int columnCount = row.getLastCellNum();
            for (int j = 0; j < columnCount; j++) {
                Cell cell = row.getCell(j);
                //如果未null则跳过
                if (row.getCell(j) == null) {
                    continue;
                } else {
                    if (cell.getCellType().equals(CellType.NUMERIC)) {
                        //日期格式
                        short format = cell.getCellStyle().getDataFormat();
                        if (DateUtil.isCellDateFormatted(cell)) {
                            if (format == 14) {
                                SimpleDateFormat sdf = null;
                                sdf = new SimpleDateFormat("yyyy/M/d");
                                double valueDouble = cell.getNumericCellValue();
                                Date date = org.apache.poi.ss.usermodel.DateUtil.getJavaDate(valueDouble);
                                String formatStr = sdf.format(date);
                                cell.setCellType(CellType.STRING);
                                cell.setCellValue(formatStr);
                            }

                        }
                    }
                }
            }
        }
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/797600.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

独立站不能忽略的小细节

一个产品最重要的地方就是细节&#xff0c;正所谓细节决定成败&#xff0c;做好细节消费者才感到自己被重视而不是被敷衍&#xff0c;才愿意下单买商家的产品。做独立站的时候&#xff0c;我们也应该去思考以下四个小细节&#xff0c;自己是否有好好注意呢&#xff1f; 1、网站…

龙芯3A5000板卡在高性能工作站的应用方案-迅为电子

将龙芯3A5000应用于高性能工作站时&#xff0c;可以考虑以下方案&#xff1a; 多核计算能力&#xff1a;龙芯3A5000拥有多核心处理器&#xff0c;具备强大的计算能力。在高性能工作站中&#xff0c;可以利用多核心的处理能力来支持复杂的工程设计、科学计算和数据处理任务。…

springboot配置自定义数据源(Druid德鲁伊)的步骤。

今天和大家分享下在Springboot中配置自定义数据源Druid的两种方法及步骤。 方法一&#xff1a; 1.在pom.xml配置依赖(注释里面的内容) 2.配置自己的数据源设置&#xff0c;我是在yaml文件中配置的&#xff0c;顺便提醒一下&#xff0c;在配置yaml文件的时候缩进问题一定要注意…

河南省委网信办副主任赵小平一行莅临麒麟信安调研

7月5日下午&#xff0c;河南省委网信办副主任赵小平、河南省委网信办网络安全协调处处长刘宝献、河南省委网信办网络安全协调处副处长马芊培、河南省委网信办网络安全协调处干部李阳、河南省委网信办综合处干部韩飞等领导一行莅临麒麟信安调研网络安全产业相关情况。湖南省委网…

危险的指针---字符指针和字符数组指针所导致的段错误

前言 &#xff08;1&#xff09;今天在编写采用平台总线模型的LED点灯程序时候&#xff0c;发现每次装载驱动&#xff0c;都会报如下错误&#xff0c;最后一行报错说段错误。 &#xff08;2&#xff09;我一开始以为是因为自己的平台总线模型写错了&#xff0c;花了很长时间进行…

【JavaScript 07】函数声明 地位平等 函数提升 属性方法 作用域 参数 arguments对象 闭包 IIFE立即调用函数表达式 eval命令

函数 1 概述1.1 声明1.2 重复声明 1.3 圆括号/return/recursion1.4 一等公民1.5 函数提升 2 函数属性与方法2.1 name属性2.2 length属性2.3 toString() 3 函数作用域3.1 概念3.2 函数内部变量提升3.3 函数本身作用域 4 参数4.1 概念4.2 省略4.3 传递4.4 同名4.5 arguments 对象…

SSIS对SQL Server向Mysql数据转发表数据 (一)

开发工具 Visual Stuido 2019 、SSIS、SQL Server 2016、Mysql 8.0.30 1、配置VS2019的添加相应的功能&#xff0c;勾选SQL Server Data Tools,下载就行我用的VS2019版本还需要下载下面几个插件&#xff0c;链接我放在下面了 Microsoft Analysis Services Projects - Visual St…

城市内涝的原因有哪些?如何解决?

内涝是指由于强降水或连续性降水超过城市排水能力致使城市内产生积水灾害的现象。造成内涝的客观原因是降雨强度大&#xff0c;范围集中。降雨特别急的地方可能形成积水&#xff0c;降雨强度比较大、时间比较长也有可能形成积水。城市内涝的发生会引发交通瘫痪&#xff0c;甚至…

第二节 我用Python论证乖离率(BIAS)真的靠谱吗?

视频地址&#xff1a;点我查看文章配套视频&#xff0c;持续更新中~&#xff01; 什么是BIAS 乖离率也称为Y值&#xff0c;是用股价指数与移动平均线的比值关系来描述股票价格与移动平均线之间的偏离程度。乖离率指标是根据葛兰威尔八大买卖原则推演而来的&#xff0c;其原则是…

GPT4ALL私有化部署 01 | Python环境

进入以下链接&#xff1a; https://www.python.org/downloads/release/python-3100/ 滑动到底部 选择你系统对应的版本&#xff0c;如果你是win&#xff0c;那么大概率是win-64bit 有可能你会因为网络的问题导致下载不了&#xff0c;我提供了 链接 接着只需要打开 等待…

用于事实核查的知识图谱比较推理:问题定义和算法 7.24+7.26

用于事实核查的知识图谱比较推理&#xff1a;问题定义和算法 摘要介绍问题定义知识段&#xff08;Knowledge Segment KS&#xff09;共性不一致性集体共性集体不一致性成对比较推理集体比较推理 知识片段提取Predictate-Predictate Similarity特定边的知识段特定子图知识段 比较…

Vite构建的vue3项目修改网站标题和图标

1.准备一张.ico后缀的图片&#xff0c;这里推荐文件转换器&#xff0c;可以将常见的图片格式转为.ico格式图片。 2.修改网站标题和图标 网站的标题和图标都可以在项目根路径下的index.html下修改。 2.1 网站标题修改<title>标签体内容即可。 2.2 网站图标修改如图<…

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(8)-Fiddler如何设置捕获会话

1.简介 前边几篇宏哥介绍了Fiddler界面内容以及作用。今天宏哥就讲解和分享如何设置Fiddler后&#xff0c;我们就可以捕获会话&#xff0c;进行抓包了。 2.捕获会话的设备 常见的捕获会话的设备分为PC&#xff08;电脑&#xff09;端和手机&#xff08;Android和IOS苹果&…

【yolov8系列】将yolov8-seg 模型部署到瑞芯微RK3566上

前言 之前记录过【yolov5系列】将模型部署到瑞芯微RK3566上&#xff0c;整体比较流畅&#xff0c;记录了onnx转rknn的相关环境配置&#xff0c;使用的rk版本为rknn-toolkit2-v1.4.0。当前库已经更新为1.5&#xff0c;这里还是沿用1.4的版本进行记录。本篇博客是在上篇博客&…

重发布及路由策略

目录 重发布 作用 条件 规则 名词解释点 点 向 单点重发布 双点重发布 路由策略 控制层流量和数据层流量 抓流量 ACL列表 前缀列表( ip-prefix) 实例演示 做策略 过滤策略(过滤器-策略) 路由策略(route-policy) 基本配置 路由策略使用 配置实验 重发布 在…

Python 中一个好用的股票开源库akshare

背景 从小编真实接触股票已经有10年之久了&#xff0c;因为大学的专业就是数据与应用数据&#xff08;金融学方向&#xff09;&#xff0c;大三、大四学期时学习了很多涉及金融相关的课程&#xff0c;特别是在大四时&#xff0c;老师还专门给每位同学开通了模拟炒股的账户&…

合并 K 个升序链表——力扣23

题目描述 法一 顺序合并 class Solution { public:ListNode* mergeTwoLists(ListNode* l1, ListNode* l2){ListNode* dummy new ListNode(-1); //创建一个新的头节点 ListNode *curdummy, *aPtr l1, *bPtr l2;while(aPtr && bPtr){if(aPtr->val < bPtr->…

网银转账测试分析与设计

在银行项目面试中&#xff0c;面试官常问起网上银行转账功能如何测试&#xff0c;该问题既能考查面试者银行知识储备又能考查面试者的沟通表达能力。而很多人对于这个问题觉得很难回答&#xff0c;网上关于这块资料也并不多&#xff0c;特整理相关的测试点&#xff0c;抛砖引玉…

MyBatis学习笔记之逆向工程

文章目录 逆向工程配置与生成QBC查询风格 所谓的逆向工程是&#xff1a;根据数据库表逆向生成的Java的pojo类、SqlMapper.xml文件、以及mapper接口类等 要完成这个工作&#xff0c;需要借助别人写好的逆向工程插件。 虽然有点经典白学&#xff0c;但好像也没不白学 思考&#x…

数据结构入门指南:顺序表

目录 文章目录 前言 顺序表 静态顺序表 动态顺序表 总结 前言 今天我们正式进入对数据结构的学习&#xff0c;顺序表是数据结构中最简单的一种线性数据结构&#xff0c;也是数据结构入门的试金石&#xff0c;如果对于顺序表中内容理解过难&#xff0c;可以先填补一下C语言中结构…