easy-excel导出excel中日期列需要双击才能进行筛选

使用easy-excel导出的excel中,给日期那一例设置单元格格式,发现需要双击后才能生效,翻了一些资料说easy-excel程序导出的日期值是文本值,所以需要双击让excel转化一下,这边查了easy-excel的g官方文档,发现导出部分给了一个设置行样式的列子 ,easy-excel是box/spout上封装的扩展,上面给的例子就是box/spout的样例

在这里插入图片描述

这样就发现了有可能解决问题的方法,然后找到了box/spout的官方文档,发现官方提供了一个针对日期的方法:StyleBuilder::setFormat(‘m/d/yy h:mm’),但是这边设置正常格式时间和时间戳后并没有生效,翻了半天文档也找不到这个方法的介绍,正当要放弃的时候 刚才查询的时候,发现了关于excel的日期值的一个说法,想着扩展需要的值并不一定是正常格式或者时间戳,所以查了下日期怎么转成excel的日期值

在这里插入图片描述

最后这边将日期转成excel的日期值,导出数据后发现excel设置单元格样式后不需要再双击,而且也能进行日期筛选,具体的程序如下:

<?php 
        
   $date = date("Y/d/m");

   // date值就是转成excel所需要的日期值
   $data = [
       [
           'date' => intval(25569 + strtotime(date('Y-m-d', strtotime($date . ' +1 day'))) / 86400),
           'num'  => 10,
       ],
       [
           'date' => intval(25569 + strtotime(date('Y-m-d', strtotime($date . ' +1 day'))) / 86400),
           'num'  => 20,
       ]
   ];

   Excel::export($data)
       ->row(function (array $row) {

           // 设置日期样式
           $style = (new StyleBuilder())
               ->setFormat('yyyy/mm/dd')
               ->build();

           return WriterEntityFactory::createRowFromArray($row, $style);
       })
       ->headings([
           'date' => '日期',
           'num'  => '数值',
       ])
       ->download("数值.xlsx");
       

注意:其实转成excel所需要的值其实就是个数值,如果当前excel中存在其它字段也是数值的话,也会被转化一下,可以在其值后面加个空格输出,但是双击后还是会变成日期值。
可以使用php原生方法导出excel,不会存在本文的问题

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 是一个轻量级的开发框架,可以快速构建和部署应用程序。Easy Excel 是一个开源的 Java Excel 解决方案,可以轻松实现 Excel 的读写和操作。Spring Boot 整合 Easy Excel 可以实现快速、简单且高效的 Excel 数据处理。 首先,我们需要在 pom.xml 文件添加 Easy Excel 的依赖。然后,我们可以使用 @EnableEasyExcel 注解来启用 Easy Excel,并配置 Easy Excel 的属性,比如读取 Excel 文件的位置、写入 Excel 文件的位置、读写 Excel 文件的格式等等。 我们可以通过定义一个 Excel 模型来规定读取和写入 Excel 文件的格式。Excel 模型可以包含多个 Excel 表,并且每个 Excel 表可以包含多个表头和数据行。我们可以通过在 Excel 模型定义注解来指定 Excel 的表头和数据行字段的属性,使得读写 Excel 文件更加方便快捷。 可以使用 Easy Excel 提供的 ExcelWriter 和 ExcelReader 类来进行 Excel 文件的读取和写入。ExcelWriter 实例可以通过 write 方法写入 Excel 文件,ExcelReader 实例可以通过 read 方法读取 Excel 文件。我们可以使用 Easy Excel 提供的监听器和回调函数来实现 Excel 文件的读取与写入的监听和反馈,使得 Excel 数据的读取和写入更加友好和可靠。 总之,Spring Boot 整合 Easy Excel 可以使得 Excel 数据的读写变得简单、高效、可靠,从而提高了应用程序的开发效率和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值