2016-04-25 122 views
1

我正在使用PHPExcel進行xls創建。我如何鏈接一個表單列到一個下拉單元格。我在xls中創建了一個下拉列表,但是如何獲取表格列,如下拉列表中的整個列。 ! 在Excel中,當我的片列鏈接到任何細胞中的製備式這樣PHPExcel如何使用setFormula1將表單列鏈接到單元格()

= DropdownSheet $ A我已經手動完成此:$ A

DropdonSheet是一個表名稱一個是我連接

列我使用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'); 

回答

1

這是寫這個公式中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

我發現此解決方案及其工作翅片e可能是它可以幫助任何人在未來這裏是更多細節的鏈接 link

相關問題