加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHPExcel问题,用于从excel文件中读取日期字段

发布时间:2020-12-13 13:17:21 所属栏目:PHP教程 来源:网络整理
导读:当我使用该类在我的 PHP代码中读取excel文件时,我遇到了PHPExcel类的问题. // Reading the excel data$objReader = new PHPExcel_Reader_Excel2007();$objReader-setReadDataOnly(true);$objPHPExcel = $objReader-load('test.xlsx');$objPHPExcel-setActive
当我使用该类在我的 PHP代码中读取excel文件时,我遇到了PHPExcel类的问题.
// Reading the excel data
$objReader = new PHPExcel_Reader_Excel2007();
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load('test.xlsx');
$objPHPExcel->setActiveSheetIndex(0);
$dataArray = $objPHPExcel->getActiveSheet()->toArray();

我正在使用此代码,现在的问题是,当我创建一个excel文件并插入像日期这样的单元格值时说01/09/2012

并使用PHPExcel类的toarray()函数读取完整的excelsheet,然后它不返回日期值.它返回一个数值.

我发现当我们使用MS OFfice应用程序创建Excel文件并在任何单元格中插入日期时,excel会将单元格转换为日期格式.所以现在我想使用PHPExcel类读取日期格式单元格.

规则一:

设置$objReader-> setReadDataOnly(true)不是一个好主意;什么时候你会用日期.如果这样做,那么PHPExcel无法告诉您单元格是否包含日期或数字.

规则二:

该数字是Excel存储的Excel日期值.然后,Excel数字格式掩码用于在显示时将该数字转换为格式化的“人类可读”日期. (如果您使用了$objReader-> setReadDataOnly(true);那么您还没有加载单元格的numberFormat掩码.
如果已加载numberFormat掩码,则可以使用getFormattedValue()方法将格式化的“人类可读”日期作为字符串返回.

规则三:

要将Excel数字日期值转换为unix日期/时间戳或PHP DateTime对象,可以使用内置的PHPExcel_Shared_Date :: ExcelToPHP()或PHPExcel_Shared_Date :: ExcelToPHPObject()方法.

规则四:

所有这些都有完整的记录.但我想我将不得不写一个专门用于日期的特殊手册,文字名称中包含大红色字母的DATES字样.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读