php excel导入时间格式不对,phpexcel 导入 时间格式 和 数值格式 处理

本文介绍如何使用PHPExcel库处理Excel文件导入时的时间格式和数值格式。通过示例函数`importXlsx()`展示如何读取并转换Excel中的时间及数值数据,确保正确解析为日期和格式化的数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标签:cell   turn   cto   nat   数值   for   格式   user   number

/**

* Notes:导入excel文件

* User: hly

* Date: 2020/4/14 17:56

*/

function importXlsx()

{

//引入phpexcel

require getcwd() . ‘/PHPExcel.php‘;

$file_name = ‘test.xlsx‘; //模拟上传后的文件

$objReader = \PHPExcel_IOFactory::createReader(‘Excel2007‘);

$objPHPExcel = $objReader->load($file_name, $encode = ‘utf-8‘);

$sheet = $objPHPExcel->getSheet(0);

$highestRow = $sheet->getHighestRow(); // 取得总行数

$data = array();

for ($i = 2; $i getActiveSheet()->getCell("A" . $i));

$data[$i - 2][‘date_time‘] = getCellValue($objPHPExcel->getActiveSheet()->getCell("B" . $i), ‘Y-m-d H:i:s‘);

}

exit(json_encode($data));

}

function getCellValue($cell, $date_format = "Y-m-d H:i:s")

{

$value = $cell->getValue();

if($cell->getDataType() == \PHPExcel_Cell_DataType::TYPE_NUMERIC){

//版本过低的话请加上 getParent 例:$cell->getParent()->getStyle($cell->getCoordinate())->getNumberFormat();

$cell_style_format = $cell->getStyle($cell->getCoordinate())->getNumberFormat(); //不需要getParent

$format_code = $cell_style_format->getFormatCode();

if (preg_match(‘/^([$[A-Z]*-[0-9A-F]*])*[hmsdy]/i‘, $format_code)) { //判断是否为日期类型

$value = gmdate($date_format, \PHPExcel_Shared_Date::ExcelToPHP($value)); //格式化日期

}else{

$value = \PHPExcel_Style_NumberFormat::toFormattedString($value, $format_code); //格式化数字

}

}

return $value;

}

importXlsx();

phpexcel 导入 时间格式 和 数值格式 处理

标签:cell   turn   cto   nat   数值   for   格式   user   number

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值