PHP excel单元格数据验证,以包括来自另一个工作表的单元格


php excel cell data validation to include cells from another sheet

我使用php excel导出数据文件,我有一个列称为'group',用户应该从组列表中选择组,所以我使用单元格数据验证使列表如下

$cell='A5'
$validation = '$A$2:$'A$10';  
     $objValidation = $sheet->getCell($cell)->getDataValidation();
    $objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST );
     $objValidation->setShowDropDown(true);
    $objValidation->setFormula1($validation);
    $sheet->getCell($cell)->setValue('group5'); 

在本例中,我必须为每个单元格设置默认值,以便验证从单元格

获取列表。

我使用宏来创建多选择列表,默认值会使宏出现问题

所以我需要在一个单独的工作表中有groups列并在第一个工作表的验证公式中使用这个工作表,所以我可以有像

这样的东西
$validation= 'Sheet2$A$2:$'A$10'; 

这个适用吗?

您可以更改所使用的字符串分隔符。但我认为Excel地址是这样的:Sheet2$A$2:$A$10

不需要额外的引号,这会打断php的字符串:

$cell='A5'
$validation = '$A$2:$A$10';  
$objValidation = $sheet->getCell($cell)->getDataValidation();
$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST );
$objValidation->setShowDropDown(true);
$objValidation->setFormula1($validation);
$sheet->getCell($cell)->setValue('group5'); 

希望有所帮助