PHPExcel如何使用setFormula1()将命名范围链接到单元格下拉列表
嗨,伙计们,我在用PHPExcel。如何将下拉单元格链接到不同工作表中的命名范围列之前,我已将单元格链接到该下拉列表,如下所示PHPExcel如何使用setFormula1()将命名范围链接到单元格下拉列表,php,phpexcel,Php,Phpexcel,嗨,伙计们,我在用PHPExcel。如何将下拉单元格链接到不同工作表中的命名范围列之前,我已将单元格链接到该下拉列表,如下所示 $objValidation->setFormula1('DropDownSheet!$A$1:$A$10'); 下拉式工作表是工作表名称 但是现在我有了一个命名的国家/地区列表,我想使用setFormula1()将其与下拉列表链接起来,我已经尝试过了 $objValidation->setFormula1('=countries_list'); $obj
$objValidation->setFormula1('DropDownSheet!$A$1:$A$10');
下拉式工作表是工作表名称
但是现在我有了一个命名的国家/地区列表,我想使用setFormula1()
将其与下拉列表链接起来,我已经尝试过了
$objValidation->setFormula1('=countries_list');
$objValidation->setFormula1('countries_list');
但它不起作用。马克·贝克是正确的,这是我的代码,工作正常。。。首先,在一个循环中,我在第2页的a列中设置了一个国家列表。。。在迭代$counter的循环中:
$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
)
);
然后,我想在第1页的整个L列(好的,前1000行)中返回一个下拉列表:
for($row=2;$rowgetActiveSheet()->getCell(“L”。$row)->getDataValidation();
$objValidation->setType(phpexcell\u Cell\u DataValidation::TYPE\u LIST);
$objValidation->setErrorStyle(phpexcell\u Cell\u DataValidation::STYLE\u信息);
$objValidation->setAllowBlank(false);
$objValidation->setShowInputMessage(true);
$objValidation->setShowErrorMessage(true);
$objValidation->setShowDropDown(true);
$objValidation->setErrorTitle(“输入错误”);
$objValidation->setError('值不在列表中');
$objValidation->setpromptitle('Pick from list');
$objValidation->setPrompt('请从下拉列表中选择一个值');
$objValidation->setFormula1(“国家”);
}
最后一行命名了我在上一个代码块中命名的列表。Mark Baker是正确的,这是我的代码,运行良好…首先,在循环中,我在表2的a列中设置了一个国家列表…在循环中,在$counter上迭代:
$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
)
);
然后,我想在第1页的整个L列(好的,前1000行)中返回一个下拉列表:
for($row=2;$rowgetActiveSheet()->getCell(“L”。$row)->getDataValidation();
$objValidation->setType(phpexcell\u Cell\u DataValidation::TYPE\u LIST);
$objValidation->setErrorStyle(phpexcell\u Cell\u DataValidation::STYLE\u信息);
$objValidation->setAllowBlank(false);
$objValidation->setShowInputMessage(true);
$objValidation->setShowErrorMessage(true);
$objValidation->setShowDropDown(true);
$objValidation->setErrorTitle(“输入错误”);
$objValidation->setError('值不在列表中');
$objValidation->setpromptitle('Pick from list');
$objValidation->setPrompt('请从下拉列表中选择一个值');
$objValidation->setFormula1(“国家”);
}
最后一行命名了我在上一个代码块中命名的列表。尝试删除
=
并简单地使用$objValidation->setFormula1('countries_list');
我尝试过它不工作。。尝试删除=
并简单地使用$objValidation->setFormula1('countries_list');
我尝试过它不工作。。