1. 程式人生 > >PHPexcel 單元格資料格式 解決 PHPExcel 長數字串顯示為科學計數

PHPexcel 單元格資料格式 解決 PHPExcel 長數字串顯示為科學計數

setCellValue 是不支援設定資料格式的 下面是方法可有看處

setCellValue($pCoordinate = 'A1', $pValue = null, $returnCell = false)

setCellValueExplicit 是可以設定資料格式 同時支援連貫操作

/**
     * Set a cell value
     *
     * @param string $pCoordinate Coordinate of the cell
     * @param mixed  $pValue Value of the cell
     * @param string $pDataType
Explicit data type * @param bool $returnCell Return the worksheet (false, default) or the cell (true) * @return PHPExcel_Worksheet|PHPExcel_Cell Depending on the last parameter being specified */ public function setCellValueExplicit($pCoordinate = 'A1', $pValue = null, $pDataType
= PHPExcel_Cell_DataType::TYPE_STRING, $returnCell = false) { // Set value $cell = $this->getCell($pCoordinate)->setValueExplicit($pValue, $pDataType); return ($returnCell) ? $cell : $this; }

setCellValueExplicit 支援以下資料格式 目前只發現這些

TYPE_STRING
TYPE_STRING2
TYPE_NULL
TYPE_NUMERIC
TYPE_FORMULA
TYPE_BOOL
TYPE_ERROR

解決 PHPExcel 長數字串顯示為科學計數

在excel中如果在一個預設的格中輸入或複製超長數字字串,它會顯示為科學計演算法,例如身份證號碼,解決方法是把表格設定文字格式或在輸入前加一個單引號。

對於下面這種修改資料型別未字串 超長數字依然不能正常顯示

->setCellValueExplicit('D1',123456789033,PHPExcel_Cell_DataType::TYPE_STRING);

百分之百可以解決超長數字的辦法 就是在值前面加空格

->setCellValue('D1', ' ' . 123456789033);