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

标签 php excel phpexcel

我正在使用 PHPExcel 创建 xls。如何将工作表列链接到下拉单元格。我已经在 xls 中创建了一个下拉列表,但是我如何才能像下拉列表中的整个 A 列一样获取工作表列以获取下拉值。 在 excel 中,当我将工作表列链接到任何单元格时,我手动完成了此操作,其制作公式如下

=DropdownSheet!$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 "  !!!

DropdownSheet 是工作表名称

A 是列名

我找到了这个解决方案并且它工作正常可能会在未来帮助任何人这里是更多细节的链接 link

关于PHPExcel 如何使用 setFormula1() 将工作表列链接到单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36836598/

相关文章:

php - CODEIGNITER 调用成员函数 num rows on boolean

vba - 仅允许数字作为 CommandButton1_Click() 的 Application.InputBox 的用户输入值

excel - Sum() 跨动态张数

vba - 在 VBA 中以编程方式创建文档并为其分配数据

php - Yii2:比较密码和重设密码的验证

php - paypal php信用卡付款返回401

php - Mysql表达式按日期描述从数据库中选择所有内容

PHPExcel设置列宽

php - 使用 PHPExcel 从 MySQL 获取字段名称到 Excel

PHP 将多张表中的数据导出到 CSV