首頁  >  文章  >  後端開發  >  PHP實作Excel長數字字串顯示為科學計數碼分享

PHP實作Excel長數字字串顯示為科學計數碼分享

小云云
小云云原創
2018-02-24 14:36:342174瀏覽

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

使用PHPExcel來產生excel,也會遇到同樣的問題,解決方法有三種:
1、設定單元格為文字

$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('Simple');//设置A3单元格为文本
$objPHPExcel->getActiveSheet()->getStyle('A3')->getNumberFormat()
    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);//也可以设置整行或整列的style
/*//E 列为文本
$objPHPExcel->getActiveSheet()->getStyle('E')->getNumberFormat()
    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);//第三行为文本
$objPHPExcel->getActiveSheet()->getStyle('3')->getNumberFormat()
    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
*/

更多的格式可以在PHPExcel/Style/NumberFormat.php中找到。注意:上述的設定對長數字字串還是以文字方式來顯示科學計數法的結果,原因可能php在處理大數字時所採用的科學計數法。

2、在設定值的時候顯示的指定資料型別

$objPHPExcel = new PHPExcel();$objPHPExcel->setActiveSheetIndex(0);$objPHPExcel->getActiveSheet()->setTitle('Simple');$objPHPExcel->getActiveSheet()->setCellValueExplicit('D1',                                 123456789033, 
                                 PHPExcel_Cell_DataType::TYPE_STRING);

3、在數字字串前加一個空格使之成為字串

$objPHPExcel = new PHPExcel();$objPHPExcel->setActiveSheetIndex(0);$objPHPExcel->getActiveSheet()->setTitle('Simple');$objPHPExcel->getActiveSheet()->setCellValue('D1', ' ' . 123456789033);

推薦使用第二、三種,第一種沒有根本解決問題。

相關推薦:

前端html表格產生excel表格實例

#js匯出Excel表格超出26位元英文字元的解決方法ES6

PHPExcel如何實現合併與分割單元格

以上是PHP實作Excel長數字字串顯示為科學計數碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn