最近做一個(gè)php項(xiàng)目的時(shí)候,遇到一個(gè)問題。
功能:使用phpexcel導(dǎo)出數(shù)據(jù)。
問題描述:導(dǎo)出身份證后四位是0000
這是因?yàn)樵趀xcel中如果在一個(gè)默認(rèn)的格中輸入或復(fù)制超長(zhǎng)數(shù)字字符串,它會(huì)顯示為科學(xué)計(jì)算法。
方法一:設(shè)置單元格為文本
- $objPHPExcel = new PHPExcel();
- $objPHPExcel->setActiveSheetIndex(0);
- $objPHPExcel->getActiveSheet()->setTitle('Simple');
- //設(shè)置A3單元格為文本
- $objPHPExcel->getActiveSheet()->getStyle('A3')->getNumberFormat()
- ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
- //也可以設(shè)置整行或整列的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中找到。
注意:上述的設(shè)置對(duì)長(zhǎng)數(shù)字字符串還是以文本方式來顯示科學(xué)計(jì)數(shù)法的結(jié)果。
方法二:在設(shè)置值的時(shí)候顯示的指定數(shù)據(jù)類型
- $objPHPExcel = new PHPExcel();
- $objPHPExcel->setActiveSheetIndex(0);
- $objPHPExcel->getActiveSheet()->setTitle('Simple');
- $objPHPExcel->getActiveSheet()->setCellValueExplicit('D1',123456789033, PHPExcel_Cell_DataType::TYPE_STRING);
方法三:在數(shù)字字符串前加一個(gè)空格使之成為字符串
- $objPHPExcel = new PHPExcel();
- $objPHPExcel->setActiveSheetIndex(0);
- $objPHPExcel->getActiveSheet()->setTitle('Simple');
- $objPHPExcel->getActiveSheet()->setCellValue('D1', ' ' . 123456789033);
新聞熱點(diǎn)
疑難解答