PHPExcel如何使用setFormula1()将表单列链接到单元格

我正在使用PHPExcel进行xls创build。 我怎么能链接一个表单列到一个下拉单元格。 我已经在xls中创build了一个下拉列表,但是如何获取表格列,就像下拉列表中的整个列一样。 在Excel中,我已经做了这个手动,当我链接到任何单元格的表单列这样做的公式

!= DropdownSheet $ A:$ A

DropdonSheet是一个表名A是我连接的列

我已经使用PHPExcel生成工作表,我在Excel中完成了DropdonSheet当我在PHPExcel中编写这个公式来填充下拉列表

 $objValidation->setFormula1("=DropdownSheet!$A:$A"); 

它不工作给我一个错误。 我做错了什么可以任何人请在这里指导我是我的整个代码

  $objPHPExcel = new PHPExcel(); // Create a first sheet, representing sales data $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->setCellValue('A1', 'Something'); $objPHPExcel->getActiveSheet()->setCellValue('A2', 'Something'); $objPHPExcel->getActiveSheet()->setCellValue('A3', 'Something'); $objPHPExcel->getActiveSheet()->setCellValue('A4', 'Something'); $objPHPExcel->getActiveSheet()->setCellValue('A5', 'Something'); $objPHPExcel->getActiveSheet()->setCellValue('A6', 'Something'); $objPHPExcel->getActiveSheet()->setCellValue('A7', 'Something'); $objPHPExcel->getActiveSheet()->setCellValue('A8', 'Something'); $objPHPExcel->getActiveSheet()->setCellValue('A9', 'Something'); // Rename sheet $objPHPExcel->getActiveSheet()->setTitle('DropdownSheet'); // Create a new worksheet, after the default sheet $objPHPExcel->createSheet(); // Add some data to the second sheet, resembling some different data types $objPHPExcel->setActiveSheetIndex(1); $objPHPExcel->getActiveSheet()->setCellValue('A1', 'More data'); $objValidation = $objPHPExcel->getActiveSheet()->getCell("B1")->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("=DropdownSheet!$A:$A"); // Rename 2nd sheet $objPHPExcel->getActiveSheet()->setTitle('Second sheet'); 

这是在PHPExcel中编写这个公式的方法

  $objValidation->setFormula1('DropdownSheet!$A$2:$A$6'); // Make sure NOT to put a range of cells or a formula between " and " !!! 

DropdownSheet是一个表名

A是一个columname

我发现这个解决scheme和它的工作很好,可能它可以帮助任何人在未来这里是更多的细节链接的链接