馬克貝克是正確的,這裏是我的代碼,工作正常...首先,在一個循環中,我設置了列表2列A中的國家...在一個循環重複$計數器:
$data_sheet = $objPHPExcel->createSheet();
$data_sheet->setTitle('Data');
$data_sheet->getCell('A'.$counter)->setValue($country["name"]);
然後我命名的列 '國家':
$objPHPExcel->addNamedRange(
new PHPExcel_NamedRange(
'countries',
$objPHPExcel->getSheet(1),
'A1:A'.($counter-1),
false,
NULL
)
);
然後我在完整的L列想要一個pulldow列表回表1(好,第1000行):
for($row = 2; $row<1002; $row++) {
$objValidation = $objPHPExcel->getActiveSheet()->getCell("L".$row)->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('countries');
}
最後一行命名我在前面的代碼塊中命名的列表。
嘗試刪除'=',並簡單地使用'$ objValidation-> setFormula1('countries_list');' –
它不工作我試過.. – OBAID