PHPExcel如何设置某列的格式为数值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHPExcel如何设置某列的格式为数值相关的知识,希望对你有一定的参考价值。

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

设置单元格的值并指定其数据类型

$objPHPExcel->getActiveSheet()->setCellValueExplicit("D1", "1234567890",PHPExcel_Cell_DataType::TYPE_NUMERIC);


其他设置

setCellValueByColumnAndRow():通过列索引和行索引设置单元格的值,返回类型同上
setCellValueExplicit():设置单元格的值,并显示指定数据类型,返回工作表对象
setCellValueExplicitByColumnAndRow():通过列和行索引设置单元格值
setTitle():设置工作表标题

参考技术A 估计0是null,所以不显示了,可以换个思路,让他显示为字符串
$number = 0;
echo ''.$number本回答被提问者采纳

PHPExcel如何把该列的值设置为文本无科学计数?

                  $obj_sheet->setCellValueExplicit($cells[$_counter].$i, (isset($val[$_value_key]) ? $val[$_value_key] : ‘‘),PHPExcel_Cell_DataType::TYPE_STRING);

以上是关于PHPExcel如何设置某列的格式为数值的主要内容,如果未能解决你的问题,请参考以下文章

java 使用POI导出excel模板,如何限制某列的显示格式为文本?比如输入身份证号,默认会用科学计数法

PHPExcel如何把该列的值设置为文本无科学计数?

python怎么实现修改文本中某行某列的数值为固定值

excel怎样将某列数据改为一位小数

如何把Excel中的某列数值如何转换成文本格式,且兼容性最好?

PHPExcel所遇到问题的知识点总结