PHPexcel 單元格資料格式 解決 PHPExcel 長數字串顯示為科學計數
阿新 • • 發佈:2019-01-31
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);