gpt4 book ai didi

PHPExcel,日期解析不正确

转载 作者:可可西里 更新时间:2023-11-01 13:50:32 26 4
gpt4 key购买 nike

目前,我正在为我的工作制作一个程序,它使用 PHPexcel 基本上从 excel 工作表中获取所有数据,制作一个新的 excel 工作表并将其格式化为文本,然后从旧的 excel 传输所有数据床单。

我的 php 必须能够从旧的 excel 表中获取值并正确解析它们,尤其是日期/数字/等。

除日期外,一切正常。出于某种原因,当我得到单元格的格式化值时;它与第一张表中的日期格式不匹配。特别是这样的值: 12/31/2099 。由于某种原因,它错误地将格式代码读取为 mm-dd-yy 并输出 12-31-99。这非常令人沮丧,我已经搜索了一半的互联网来寻找答案。请帮助;我不确定是什么问题!代码:

<?php
$spreadSheet=$_FILES["filebrowser"]["tmp_name"];
/** PHPExcel_IOFactory */
require_once 'Classes/PHPExcel/IOFactory.php';
require_once 'Classes/PHPExcel/Shared/Date.php';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
//Create temporary sheet from uploaded file data
$objPHPExcel = $objReader->load($spreadSheet);
$sheet = $objPHPExcel->getActiveSheet();
$sheet->setTitle("Original Data");
$data=$sheet->getCell("D9")->getFormattedValue();

var_dump($data);
exit;?>

D9 是 DATE 格式的单元格,值为 12/31/2099。此代码打印 12-31-99...

最佳答案

使用 PHPExcel v1.7.9

打开文件"PHPExcel\Style\NumberFormat.php"

转到第 278 行:

self::$_builtInFormats[22] = 'm/d/yy h:mm'; 

替换为

self::$_builtInFormats[22] = 'dd-mm-yyyy hh:mm';

或您想要的任何格式。

我找不到一种有效的方法来即时更改它,而且我没有理由以除此之外的任何方式格式化日期,所以这个解决方案对我有用。

关于PHPExcel,日期解析不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17601417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com