easy

easy

使用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,不会存在本文的问题

发布者:admin,转转请注明出处:http://www.yc00.com/news/1690740840a412788.html

相关推荐

  • easy

    2023-7-31
    80
  • 探索高效能搜索引擎新境界:Easy-Es

    探索高效能搜索引擎新境界&#xff1a;Easy-Es easy-es Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致

    24天前
    00
  • Easy Connect下载(Windows版)

    文章目录 1. 下载连接2. 安装 1. 下载连接 百度网盘链接&#xff1a;https:pan.baidus13r4wxz-Df3S_IMruZIDucw  提取码&#xff1a;mmcc 2. 安装 1. 下

    17天前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信