error_reporting(E_ALL);

date_default_timezone_set('Asia/shanghai');

/** PHPExcel_IOFactory */

require_once '../Classes/PHPExcel/IOFactory.php';

$inputFileName = '6081076641077444758.xls';

$objReader = new PHPExcel_Reader_Excel5();

$objPHPExcel = $objReader->load($inputFileName);

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

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

$highestColumn = $sheet->getHighestColumn(); // 取得总列数

$tempArray = array();

for($j=2;$j<=$highestRow;$j++){

   for($k='A';$k<=$highestColumn;$k++){ 

    if($k=='M'||$k=='O') //M列和O列是时间

        $tempArray[] = excelTime($objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue());

    else

        $tempArray[] = $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();

    }

    print_r($tempArray);

    unset($tempArray);

}

function excelTime($date, $time = false) {

    if(function_exists('GregorianToJD')){

        if (is_numeric( $date )) {

        $jd = GregorianToJD( 1, 1, 1970 );

        $gregorian = JDToGregorian( $jd + intval ( $date ) - 25569 );

        $date = explode( '/', $gregorian );

        $date_str = str_pad( $date [2], 4, '0', STR_PAD_LEFT )

        ."-". str_pad( $date [0], 2, '0', STR_PAD_LEFT )

        ."-". str_pad( $date [1], 2, '0', STR_PAD_LEFT )

        . ($time ? " 00:00:00" : '');

        return $date_str;

        }

    }else{

        $date=$date>25568?$date+1:25569;

        /*There was a bug if Converting date before 1-1-1970 (tstamp 0)*/

        $ofs=(70 * 365 + 17+2) * 86400;

        $date = date("Y-m-d",($date * 86400) - $ofs).($time ? " 00:00:00" : '');

    }

  return $date;

}

PHPExcel正确读取excel表格时间单元格(转载)的更多相关文章

  1. [转载]Java读取Excel中的单元格数据

    目前网上能找到的读取Excel表格中数据的两种比较好的方案:PageOffice好用开发效率高:POI免费.供大家参考,针对具体情况选择具体方案. 1. PageOffice读取excel impor ...

  2. 利用jxl读取excel合并的单元格的一个小样例

    工作中我们可能要把Excel文件的记录保存到数据库, 今天我用jxl读取Excel文件时遇到了合并格的问题,记录例如以下: 如Excel文件例如以下: watermark/2/text/aHR0cDo ...

  3. 完美解决读取Excel的数字单元格时Cannot get a STRING value from a NUMERIC cell 报错处理

    我使用的是Poi(最新的4.1.0)方式读取Excel ,我的方法如下: 在打印cell内容时,抛出下面的错误 Exception in thread "main" java.la ...

  4. NPOI读取Excel日期类型单元格返回一串数字问题

    public string getCellStringNEW(int row, int column) { try { ICell cell = xlSheet.GetRow(row).Cells[c ...

  5. C# 读取Excel表格内容,以及NPOI的使用

    在实际的开发中,我们可能需要读写word或者Excel的内容,在我开发的项目中,需要读取Excel的内容,并将相对应的内容存储到数据库中,这里简单跟大家分享一下,希望能够帮助一些人. 我相信在读写wo ...

  6. ADO.NET(OleDb)读取Excel表格时的一个BUG

    如果我们有例如以下一个Excel表格:    如今要使用C#程序读取其内容: using System;  using System.Data.OleDb;    namespace Skyiv.Be ...

  7. phpexcel如何读取excel的数据和如何导出数据到excel

    phpexcel如何读取excel的数据和如何导出数据到excel 一.总结 一句话总结:去官网看参考手册和api,或者找中文的博客或者参考手册 1.phpexcel插件如何下载? 其实这些插件不仅可 ...

  8. tp5.0 composer下载phpexcel 实现导出excel 表格

    tp5.0 composer下载phpexcel 实现导出excel 表格 1.在下载好的tp5.0 框架里面使用 composer 下载phpexcel 的插件 composer require p ...

  9. [从产品角度学excel 04]-单元格的“衣服”

    忘记发这里了..补发一下 这是<从产品角度学EXCEL>系列——单元格篇. 前言请看: 0 为什么要关注EXCEL的本质 1 excel是怎样运作的 2 EXCEL里的树形结构 3 单元格 ...

随机推荐

  1. session和cookie的联系

    前提: 一.cookie机制 正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie.然而纯粹的客户端脚本如J ...

  2. 【Android】6.1 Toast(信息提示框)

    分类:C#.Android.VS2015: 创建日期:2016-02-08 一.简介 Toast用于向用户显示一些帮助或者提示信息.前面我们已经多次用到它,这里只是系统地将其总结一下,并演示它的各种基 ...

  3. %02x和%2x区别

    %02x  (x代表以十六进制形式输出,02代表不足两位,前面补0输出,如果超过两位,则以实际输出) 例: #include <stdio.h> #include <stdint.h ...

  4. Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用

    Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用 原创 2017-04-13 嘟嘟MD 嘟爷java超神学堂 前言 前面几章介绍了一些基础,但都是静 ...

  5. C++访问mysql数据库

    C++连接mysql数据库,并取数据进行显示本例中,在mysql中已经存在了一个数据库test,并在test数据库中创建了一张表stu做测试,表中包含3个字段 需要把mysql目录下的libmysql ...

  6. C++面向对象程序设计的一些知识点(3)

    摘要:多态性提供一组统一的调用接口函数,依据这些条用接口函数具体对象的不同,同一名字的函数会有不同的行为. 1.重载与隐藏 (1).对同一作用域中的同名函数,如果它们的函数特征标不同,那么它们就形成一 ...

  7. CentOS 7 开放防火墙端口 命令

    iptables防火墙 1.基本操作 # 查看防火墙状态 service iptables status   # 停止防火墙 service iptables stop   # 启动防火墙 servi ...

  8. response.setContentType 与response.setCharacterEncoding

    response.setContentType  设置发送到客户端的响应的内容类型,可以包括字符编码说明.  也就是说在服务器端坐了这个设置,那么他将在浏览器端起到作用,在你打开浏览器时决定编码方式 ...

  9. c语言实现类似重载的功能

    今天man了一下open,发现open函数的原型居然看着是重载,C语言不是不支持重载么,经过一番搜寻之后,总结如下: 可变长参数函数 C语言是不支持函数重载机制的,但是支持变长参数函数,当然C++也是 ...

  10. MySQL Daemon failed to start

    http://blog.163.com/cmdbat@126/blog/static/17029212320122804743900/