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′ );