phpexcel 数字格式_将文本转换为phpexcel中的数字格式

我使用PHPExcel制作了这张表

我用数组填充它.

它具有百分比形式的值,默认情况下将其视为文本形式.

如何将我的所有列转换为数字形式,以便我可以在其上应用一些数学公式.

$excel_out_Questions = $this->outputQuestions($Sets);

$objPHPExcel->getActiveSheet()->fromArray($excel_out_Questions, "" , 'A5');

我试过这个,但它不起作用……:/

$objPHPExcel->getActiveSheet()->getStyle('B434:B444')->getNumberFormat()->setFormatCode (PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00);

$objPHPExcel->getActiveSheet()->setCellValue( 'B445','=(SUM(B443:B444)-SUM(B434:B440))*100)');

请建议.

提前致谢

解决方法:

除非使用setCellValueExplicit(),否则PHPExcel使用值绑定器来标识您在单元格中设置的数据类型.

默认情况下,这是PHPExcel_Cell_DefaultValueBinder,它可以非常简单地检查PHP数据类型是Null还是Boolean,或者是数值还是字符串.诸如37.7%之类的值是PHP字符串,因此将被视为字符串.

还有一个高级值绑定器(PHPExcel_Cell_AdvancedValueBinder),它可以执行更复杂的检查,并且能够识别包含基本日期格式的字符串并将它们转换为Excel序列化日期时间,并相应地设置数字格式掩码.它还可以检测货币值,分数和(最重要的)百分比.

如果通过高级值绑定器传递37.7%的字符串值,则会将数字部分除以100,并将数字格式掩码设置为百分比掩码,其方式与MS Excel GUI完全相同.

要启用高级值绑定器,请调用

PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() );

在实例化PHPExcel对象之前.

您可以在/Examples/29advancedvaluebinder.php中找到高级活页夹用法的示例

标签:php,phpexcel

来源: https://codeday.me/bug/20190528/1172332.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值