2016-09-27 7 views
0

古いほこりのコードを維持しようとしていますが、私はimport symfonyコマンドでphpexcelの問題に直面しています。phpexcelで他のシートを読む

ライブラリは、アクティブシートと同じドキュメントの別のシートにリンクされている数式を正しく計算できないようです。ヘッダと

try { 
    $inputFileType = \PHPExcel_IOFactory::identify($filePath); 
    $objReader = \PHPExcel_IOFactory::createReader($inputFileType); 
    $objReader->setLoadSheetsOnly(array($this->getListName(), 'Template Info')); 
    $objReader->setIncludeCharts(true); 

    $objPHPExcel = $objReader->load($filePath); 
} catch (\Exception $e) { 
    throw new \Exception("Invalid file"); 
} 
$sheet = $objPHPExcel->getActiveSheet(); 
$highestRow = $sheet->getHighestRow(); 
$highestColumn = $sheet->getHighestColumn(); 

$fieldsNumber = array(); 
$filterData = array(); 
$templateIdList = array(); 

for ($i = 1; $i <= $highestRow; $i++) { 
    $rowData = $sheet->rangeToArray('A' . $i . ':' . $highestColumn . $i, null, true, false); 
    $rowData = $rowData[0]; 
    var_dump($rowData); 
} 

最初の行が正しく読み込まれますが、残りはありません:

[PHPExcel_Calculation_Exception] 
Price Template Map!B2 -> Invalid cell coordinate A 

私のコードは次のとおりです。

私が手にエラーがあります。

私の式は次のとおりです。

=VLOOKUP(A18,'Template Info'!A:C,3,FALSE)"

あなたがそれを必要とする場合、私に多くの情報を尋ねることを躊躇しないでください!

ありがとうございました!

答えて

2

問題は、列参照である:PHPExcel計算エンジンは、(たとえ他のワークシートへの)範囲の参照をサポートし、その行ないまたは列が

よう

=VLOOKUP(A18,'Template Info'!A1:C100,3,FALSE) 

有効であろうが、

を参照します
=VLOOKUP(A18,'Template Info'!A:C,3,FALSE) 

は計算できません

0

getCalculatedValue()機能を使用してください。

+0

問題はrangeToArr第3のパラメータは、ライブラリが '' getCalculatedValue() ''を使用するかどうかを知るために使用されるブール値です。現在はtrueに設定されています。私がfalseに設定した場合、私は生の形式で数式を受け取ります。 – Kern

+0

なぜ真に設定されていませんか? –

+0

trueに設定されています:) – Kern

関連する問題