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

时间:2016-10-03 18:34:34

标签: php excel phpexcel

我正在使用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'; 

这适用吗?

1 个答案:

答案 0 :(得分:0)

您可以更改您使用的字符串分隔符。但我认为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'); 

希望有所帮助