2013-01-08 52 views
1

嗨,大家我有一个问题phpexel,问题是当我创建一个xls文件,我想创建一个选择器单元,所以它可以正常工作20项,但是当它成为刨丝器,因此只EXEL返回值0.我的代码是如下:细胞选择与phpexcel,发出大于20项

$blocksList = implode (", ", $unit); 
     //Data Validation list 
    $objValidation = $objPHPExcel->getActiveSheet()->getCell('D1')->getDataValidation(); 

    $objValidation->setType(PHPExcel_Cell_DataValidation::TYPE_LIST); 

    $objValidation->setErrorStyle(PHPExcel_Cell_DataValidation::STYLE_INFORMATION); 

    $objValidation->setAllowBlank(true); 

    $objValidation->setShowDropDown(true); 

    $objValidation->setErrorTitle('Input error'); 

    $objValidation->setError('Value is not in list'); 

    $objValidation->setFormula1('"'.$blocksList.'"'); 

任何意见将是有益的给我, 谢谢!

回答

3

有在MS Excel单元格验证列表中的255个字符限制,所以它可能是你超过这个限度,但你总是可以在你的验证使用查找公式,而不是一个列表

+0

谢谢,你有这样的例子吗? – JERC

+0

我找到了这个http://phpexcel.codeplex.com/discussions/80422,所以我不想显示关于列表的任何单元信息,因为我的xls已经有了一个格式来使用它。 – JERC

+0

你不能逃避255个字符的限制:这是由MS Excel强加的,而不是由PHPExcel强加的。如果您不希望用户查看用于LOOKUP()公式下拉列表的单元格值列表,请将它们存储在隐藏的工作表中。 –