加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHPExcel验证一系列单元格的数据

发布时间:2020-12-13 16:12:46 所属栏目:PHP教程 来源:网络整理
导读:我试图在 PHPExcel中验证一系列单元格的数据.验证单个单元格是否正常工作. $objValidation = $objPHPExcel-getActiveSheet()-getCell('A1')-getDataValidation();$objValidation-setType( PHPExcel_Cell_DataValidation::TYPE_WHOLE );$objValidation-setErr
我试图在 PHPExcel中验证一系列单元格的数据.验证单个单元格是否正常工作.

$objValidation = $objPHPExcel->getActiveSheet()->getCell('A1')->getDataValidation();
$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_WHOLE );
$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_STOP );
$objValidation->setAllowBlank(true);
$objValidation->setShowInputMessage(true);
$objValidation->setShowErrorMessage(true);
$objValidation->setErrorTitle('Input error');
$objValidation->setError('Number is not allowed!');
$objValidation->setPromptTitle('Allowed input');
$objValidation->setPrompt('Only 1 and 0 are allowed.');
$objValidation->setFormula1(0);
$objValidation->setFormula2(1);

我可以通过创建这样的克隆来验证其他单元格.

$objPHPExcel->getActiveSheet()->getCell("A2")->setDataValidation(clone $objValidation);

但是,如果我尝试通过循环验证数据,它会冻结.

$j = 2;
while($j <= 10)
{
    $objPHPExcel->getActiveSheet()->getCell("A$j")->setDataValidation(clone $objValidation);    
}

我在这做错了什么?

附:循环使用其他函数,如getStyle()等.

解决方法

在您的示例中,您永远不会递增变量$j.

试试foreach:

foreach($j=2; $j<=10; $j++) {
  //do your stuff
}

或者将其更改为http://php.net/manual/en/control-structures.do.while.php

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读