1

我尝试了以下代码来设置 PhpExcel 的验证

const VALIDATION = '"=Sheet3!$B$2:$B$21"';

$objValidation = $activeSheet->getCell($cellAddress)->getDataValidation();
$objValidation->setType(PHPExcel_Cell_DataValidation::TYPE_LIST);
$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION );
$objValidation->setAllowBlank(true);
$objValidation->setShowDropDown(true);

$objValidation->setFormula1(self::VALIDATION);

但是,当我打开生成的 excel 时,下拉列表显示字符串=Sheet3!$B$2:$B$21不是评估范围中的值列表。

这里有什么工作吗?

4

1 回答 1

2

那是因为您将数据验证公式引用为字符串(带有双引号),因此它被解释为字符串。

带引号的字符串将被视为以逗号分隔的条目列表,这就是为什么'"Item A,Item B,Item C"'将被视为Item A,Item B和的列表的原因Item C

对于公式,使用

const VALIDATION = '=Sheet3!$B$2:$B$21';
于 2013-10-17T09:49:06.990 回答