【问题标题】:How to get excel sheet cell dataType in PHP using PHPExcel_IOFactory如何使用 PHPExcel_IOFactory 在 PHP 中获取 excel 表单元格数据类型
【发布时间】:2018-01-05 07:04:24
【问题描述】:

在这里,我使用 PHPExcel 库从 excel 表(test.xlsx)中获取所有单元格值。 但我没有得到 dataType 的值。 我需要具有此数据类型(字符串或数字或日期)的 Excel 工作表数据。

我的代码:

require_once 'Classes/PHPExcel.php';
$file_path = "test.xlsx";
try {
    $objPHPExcel = PHPExcel_IOFactory::load($file_path);
} catch(Exception $e) {
    die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
}
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

print_r($sheetData);

请指教!

【问题讨论】:

    标签: php excel phpexcel


    【解决方案1】:

    您可以通过调用单元格的getDataType() 方法来检索单元格的数据类型:

    $objPHPExcel->getActiveSheet()
        ->getCell('A1')
        ->getDataType();
    

    这可以返回以下值:

    - TYPE_STRING2  = 'str';          // string
    - TYPE_STRING   = 's';            // string
    - TYPE_FORMULA  = 'f';            // formula
    - TYPE_NUMERIC  = 'n';            // number
    - TYPE_BOOL     = 'b';            // boolean
    - TYPE_NULL     = 'null';         // null
    - TYPE_INLINE   = 'inlineStr';    // rich text string
    - TYPE_ERROR    = 'e';            // error
    

    这些数据类型的常量在 PHPExcel_Cell_DataType 类中定义


    日期没有特定的数据类型,就 Excel 而言它只是一个数字:您需要查看单元格的数字格式掩码以区分浮点数和日期。

    PHPExcel为此提供了一种方法

    PHPExcel_Shared_Date::isDateTime($objPHPExcel->getActiveSheet()->getCell('A1'));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多