当用户为单个单元格添加新行示例而不是列或多列时,如何使用PHPExcel在Excel工作表中添加默认下拉列表。 Excel模板示例
SL号|名字|中间名|姓氏|班级| Sec | DOB |父亲姓名|选择
Class和Sec需要下拉列表。因此,当添加新学生记录时,sec列应具有下拉列表。是否可以通过PHPExcel。
如果有人可以提供教程或其他内容,那将是一个真正的帮助。
此致
答案 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.'"');
}