您的位置:首页 > 编程语言 > PHP开发

PHPExcel读取文件日期处理

2016-11-11 17:10 323 查看
导入的exel文件中有一个字段是00:03:25,插入数据以后奇怪的发现成了0.016458333333333,根本不是想要的结果。

查其原因需要phpexcel提供的PHPExcel_Shared_Date类进行格式转换。

代码如下:

function format_excel2array($filePath='',$sheet=0){
if(empty($filePath) or !file_exists($filePath)){die('file not exists');}
$PHPReader = new PHPExcel_Reader_Excel2007();        //建立reader对象
if(!$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath)){
echo 'no Excel';
r
4000
eturn ;
}
}
$PHPExcel = $PHPReader->load($filePath);        //建立excel对象
$currentSheet = $PHPExcel->getSheet($sheet);        //**读取excel文件中的指定工作表*/
$allColumn = $currentSheet->getHighestColumn();        //**取得最大的列号*/
$allRow = $currentSheet->getHighestRow();        //**取得一共有多少行*/
$data = array();
for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){        //循环读取每个单元格的内容。注意行从1开始,列从A开始
for($colIndex='A';$colIndex<=$allColumn;$colIndex++){
$addr = $colIndex.$rowIndex;
if($colIndex==="M"){ //指定H列为时间所在列
$cell = gmdate("H:i:s", PHPExcel_Shared_Date::ExcelToPHP($currentSheet->getCell($addr)->getValue()));
}else{
$cell = $currentSheet->getCell($addr)->getValue();
}
if($cell instanceof PHPExcel_RichText){ //富文本转换字符串
$cell = $cell->__toString();
}
$data[$rowIndex][$colIndex] = $cell;
}
}
return $data;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: