Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPExcel如何使用setFormula1()将工作表列链接到单元格_Php_Excel_Phpexcel - Fatal编程技术网

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

PHPExcel如何使用setFormula1()将工作表列链接到单元格,php,excel,phpexcel,Php,Excel,Phpexcel,我正在使用PHPExcel创建xls。如何将图纸列链接到下拉单元格。我已经在xls中创建了一个下拉列表,但如何才能在下拉列表中为下拉值获得像整列一样的工作表列。 在excel中,当我将一个工作表列链接到任何单元格时,我都会手动执行此操作,其生成公式如下所示 =下拉单$A:$A DropdonSheet是一个工作表名称a是我正在链接的一列 当我在PHPExcel中编写这个公式来填充下拉列表时,我已经使用PHPExcel构建了一个表,这正是我在excelDropdonSheet中所做的 $objVa

我正在使用
PHPExcel
创建xls。如何将图纸列链接到下拉单元格。我已经在xls中创建了一个下拉列表,但如何才能在下拉列表中为下拉值获得像整列一样的工作表列。 在excel中,当我将一个工作表列链接到任何单元格时,我都会手动执行此操作,其生成公式如下所示

=下拉单$A:$A

DropdonSheet是一个工作表名称a是我正在链接的一列

当我在PHPExcel中编写这个公式来填充下拉列表时,我已经使用PHPExcel构建了一个表,这正是我在excel
DropdonSheet
中所做的

$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 "  !!!
下拉式工作表是工作表名称

A是一个列名

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