【问题标题】:PHPExcel reading a cell's formatPHPExcel读取单元格的格式
【发布时间】:2011-07-06 14:44:19
【问题描述】:

我无法找出如何读取单元格格式。我需要知道一个单元格的格式是否是日期,因为当我将它读入 PHP 时,它会变成来自 excel 的 5 位数字。我知道我可以获取这个数字,然后使用 PHPExcel 将其转换为 PHP 日期,但我首先需要知道我正在读取的单元格实际上是一个日期单元格。

我想知道是否有像 getCellFormat 这样的方法或者我可以使用的方法。

感谢您的帮助

尼克

【问题讨论】:

    标签: php phpexcel


    【解决方案1】:
    if (PHPExcel_Shared_Date::isDateTime($objPHPExcel->getActiveSheet()->getCell('A1')))
       echo 'Cell Contains a Date';
    

    【讨论】:

    • 好的,我可以使用 getCalculatedValue() 来获取用户在 Excel 表中看到的日期吗?所以要获得 06/18/2011 而不是 5 位数字。原因是当我尝试将 excel 数字转换为日期时,我得到的日期与电子表格中显示的日期不同
    • 请给我一个这样的例子...我从来没有意识到日期转换例程有任何问题。如果有错误,我需要例子。
    • getCalculatedValue() 用于公式...但数字/日期转换正在格式化。使用单元格的 getFormattedValue() 方法。
    • 嘿,马克,我似乎找不到该方法,并且收到此错误:致命错误:调用未定义的方法 PHPExcel_Cell::getFormattedValue()。有什么想法吗?
    • 我使用的是 PHPExcel 1.7.6 版
    【解决方案2】:

    您可能需要格式代码:

    $objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat()->getFormatCode();
    

    您可以将其与PHPExcel_Style_NumberFormat 常量或您自己的一些正则表达式进行比较。

    【讨论】:

      猜你喜欢
      • 2015-10-02
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多