PHPExcel如何设置某列的格式为数值
数据库中值为0的字段,通过PHPExcel导出到Excel里怎么就变成空白的了,能不能让它显示为0呢? PHPExcel版本为1.7.9 ,导出格式为Excel2003。下面的代码是在网上找的,但一直没有测试成功,还请有这方面经验的朋友指点一二。
//设置单元格内容的数字格式。 <br />// <br />//如果使用了 PHPExcel_Writer_Excel5 来生成内容的话, <br />//这里需要注意,在 PHPExcel_Style_NumberFormat 类的 const 变量定义的 <br />//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode <br />//为 FORMAT_NUMBER 的时候,实际出来的效果被没有把格式设置为"0"。需要 <br />//修改 PHPExcel_Writer_Excel5_Format 类源代码中的 getXf($style) 方法, <br />//在 if ($this->_BIFF_version == 0x0500) { (第363行附近)前面增加一 <br />//行代码: <br />//if($ifmt === '0') $ifmt = 1; <br />// <br />//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字 <br />//被使用科学记数方式显示,配合下面的 setAutoSize 方法可以让每一行的内容 <br />//都按原始内容全部显示出来。 <br />$objStyleA5 <br /> ->getNumberFormat() <br /> ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
设置格式<br />// Set cell number formats<br />echo date(’H:i:s’) . ” Set cell number formats\n”;<br />$objPHPExcel->getActiveSheet()->getStyle(’E4′)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);<br />$objPHPExcel->getActiveSheet()->duplicateStyle( $objPHPExcel->getActiveSheet()->getStyle(’E4′), ‘E5:E13′ );