【问题标题】:trying to get date from excel in php试图从 php 中的 excel 获取日期
【发布时间】:2015-12-06 20:37:38
【问题描述】:

我正在导入一个 excel 并将数据存储在一个 mysql 数据库中。一切正常,但 日期未正确导入:

在 Excel 中,日期是“2016 年 12 月 1 日,星期六”

但是导入后这个日期的结果是'42735'

代码

$this->load->library('excel');

$objPHPExcel = PHPExcel_IOFactory::load($excelfile);
$cell_collection = $objPHPExcel->getActiveSheet()->getCellCollection();
foreach ($cell_collection as $cell) {
    $column = $objPHPExcel->getActiveSheet()->getCell($cell)->getColumn();
    $row = $objPHPExcel->getActiveSheet()->getCell($cell)->getRow();
    $data_value = $objPHPExcel->getActiveSheet()->getCell($cell)->getValue();
    if ($row == 1) {
        $header[$row][$column] = $data_value;
    } else {
        $arr_data[$row][$column] = $data_value;
    }
}

//$data['header'] = $header;
$data['values'] = $arr_data;

foreach ($arr_data as $a=>$r ) {
    $dob  = $r['Date Of Birth'];

//this is returning 42735

我尝试将此结果转换为日期但未成功。 我正在使用 PHPExcel。有什么建议可以解决这个问题吗?

【问题讨论】:

  • 你收到什么样的错误信息,你能把它贴出来,这样我们就知道哪里出了问题!而且我们可以为您提供适当的帮助...
  • 2016 年 12 月 1 日是星期四,但 2016 年 12 月 31 日是星期六,42735 也是。
  • 语法和错别字已修复

标签: php excel


【解决方案1】:

最简单的做法是将 Excel 中日期列的格式更改为 Mysql 友好的 fromat:YYYY-MM-DD。

选择整个日期列,然后在主页选项卡上的数字菜单中选择“更多数字格式”。然后,在类型字段中,输入“YYYY-MM-DD”并单击确定。

excel format date for mysql

然后,如果您想以原始日期格式回显/打印您的 $dob,您可以尝试以下操作:

echo date("l, F d, Y", $dob)

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 2023-01-15
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多