如何使用PHPExcel添加下拉列表控件

时间:2014-01-26 21:52:22

标签: phpexcel

当用户为单个单元格添加新行示例而不是列或多列时,如何使用PHPExcel在Excel工作表中添加默认下拉列表。 Excel模板示例

SL号|名字|中间名|姓氏|班级| Sec | DOB |父亲姓名|选择

Class和Sec需要下拉列表。因此,当添加新学生记录时,sec列应具有下拉列表。是否可以通过PHPExcel。

如果有人可以提供教程或其他内容,那将是一个真正的帮助。

此致

2 个答案:

答案 0 :(得分:3)

这称为autoFilter,/Documentation文件夹中有一整个文档描述了如何设置它 - PHPExcel AutoFilter Reference developer documentation

最简单的说,您只需使用以下命令将整个工作表定义为自动过滤区域:

$objPHPExcel->getActiveSheet()->setAutoFilter('A1:I20');

(假设20是工作表中的最后一行)

$objPHPExcel->getActiveSheet()->setAutoFilter(
    $objPHPExcel->getActiveSheet()->calculateWorksheetDimension()
);

如果你想让PHPExcel为你计算范围

答案 1 :(得分:0)

        $gender = "Male,female";

          for ($i = 2; $i <= $col_count; $i++) {
                $objValidation = $sheet->getCell('F'.$i)->getDataValidation();
                $objValidation>setType(\PHPExcel_Cell_DataValidation::TYPE_LIST);
                $objValidation->setErrorStyle(\PHPExcel_Cell_DataValidation::STYLE_INFORMATION);
                $objValidation->setAllowBlank(false);
                $objValidation->setShowInputMessage(true);
                $objValidation->setShowErrorMessage(true);
                $objValidation->setShowDropDown(true);
                $objValidation->setErrorTitle('Input error');
                $objValidation->setError('Value is not in list.');
                $objValidation->setPromptTitle('Pick from list');
                $objValidation->setPrompt('Please pick a value from the drop-down list.')
                $objValidation->setFormula1('"'.$gender.'"');

            }