PHPExcel 如何使用 setFormula1() link 一个 sheet 列到一个单元格
PHPExcel how to link a sheet column to a cell using setFormula1()
我正在使用 PHPExcel
创建 xls。我如何 link 将 sheet 列添加到下拉单元格。我已经在 xls 中创建了一个下拉列表,但我如何才能像下拉列表中的整个 A 列一样获得 sheet 列以获取下拉值。
在 excel 中,当我 link 一个 sheet 列到任何单元格时,我手动完成了它的制作公式,就像这样
=DropdownSheet!$A:$A
DropdonSheet 是一个 sheet 名称 A 是我正在 linking 的一个专栏
我已经使用 PHPExcel 构建了一个 sheet 我在 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:$A');
// Make sure NOT to put a range of cells or a formula between " and " !!!
DropdownSheet 是一个 sheet 名称
A 是一个列名
我找到了这个解决方案,它工作正常,可能对以后的任何人都有帮助这里是 link 了解更多详细信息
link
我正在使用 PHPExcel
创建 xls。我如何 link 将 sheet 列添加到下拉单元格。我已经在 xls 中创建了一个下拉列表,但我如何才能像下拉列表中的整个 A 列一样获得 sheet 列以获取下拉值。
在 excel 中,当我 link 一个 sheet 列到任何单元格时,我手动完成了它的制作公式,就像这样
=DropdownSheet!$A:$A
DropdonSheet 是一个 sheet 名称 A 是我正在 linking 的一个专栏
我已经使用 PHPExcel 构建了一个 sheet 我在 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:$A');
// Make sure NOT to put a range of cells or a formula between " and " !!!
DropdownSheet 是一个 sheet 名称
A 是一个列名
我找到了这个解决方案,它工作正常,可能对以后的任何人都有帮助这里是 link 了解更多详细信息 link