2016-04-26 18 views
1

こんにちは、私はPHPExcelを使用しています。私は別のシートにある名前付き範囲の列にセルのドロップダウンをリンクすることができますどのように以前私はこのPHPExcel setFormula1()を使用して名前付き範囲をセルのドロップダウンにリンクする方法

$objValidation->setFormula1('DropDownSheet!$A$1:$A$10'); 

DropDownSheetのように、このドロップダウンに細胞をリンクしていると、シート名です。私はsetFormula1()を使用してドロップダウンでこれをリンクしたいcountries_list

は、しかし、今、私は名前付き範囲を持っているか私はこれを行うことができます私はこの

$objValidation->setFormula1('=countries_list'); 
$objValidation->setFormula1('countries_list'); 

を試してみましたが、その作業をしていません。

+0

'='を落として、単に$ objValidation-> setFormula1( 'Countries_list'); ' –

+0

を使ってみてください。 – OBAID

答えて

0

Mark Ba​​kerは正しいですが、ここで私のコードはうまくいきます...まずループ内で、シート2のA列に国のリストを設定します... $ counterを繰り返したループ内で:

for($row = 2; $row<1002; $row++) { 
    $objValidation = $objPHPExcel->getActiveSheet()->getCell("L".$row)->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('countries'); 
} 

$objPHPExcel->addNamedRange( 
    new PHPExcel_NamedRange(
     'countries', 
     $objPHPExcel->getSheet(1), 
     'A1:A'.($counter-1), 
     false, 
     NULL 
    ) 
); 

それから私は(まあ、最初の1000行の)全体のL列にバックシート1上pulldowリストを望んでいた:

$data_sheet = $objPHPExcel->createSheet(); 
$data_sheet->setTitle('Data'); 
$data_sheet->getCell('A'.$counter)->setValue($country["name"]); 

は、それから私は、その列 '国が' という名前

前のコードブロックで指定したリストの最後の行の名前です。

関連する問題