1

最初のワークシートに次のセルがあるプロジェクトがあります。

// Create and populate the first sheet (Page One) 
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('Page One');
$objPHPExcel->getActiveSheet()->setCellValue('B8', $city);
$objPHPExcel->getActiveSheet()->setCellValue('B9', $state);
$objPHPExcel->getActiveSheet()->setCellValue('B10', $zipCode);
$objPHPExcel->getActiveSheet()->setCellValue('B12', $SSN);
$objPHPExcel->getActiveSheet()->setCellValue('B13', $birthDate);

これは正常に動作しているように見え、期待どおりにデータが表示されます。問題は、数式を使用してこれらのフィールドを別のワークシートに結合すると、最初のフィールドのみがプルされることです。コードは次のようになります。

// Create and populate Sheet 2 (Page Two) 
$objPHPExcel->createSheet();
$objPHPExcel->setActiveSheetIndex(1);
$objPHPExcel->getActiveSheet()->setTitle("Page Two");
$objPHPExcel->getActiveSheet()->setCellValue('A5', "='Page One'!B8&\" \"&'Page One'!B9&\", \"&'Page One'!B10");
$objPHPExcel->getActiveSheet()->setCellValue('A6', "=\"SSN: \"&'Page One'!B12");
$objPHPExcel->getActiveSheet()->setCellValue('A7', "=\"DOB: \"&'Page One'!B13");

1ページ目の変数はすべて機能します。2 ページ目では、SSN と DOB が機能しますが、最初のフィールド (A5) には「City, State ZIP」が表示されず、City のみが表示されます。

また、Excel でエクスポートすると、セル内のデータは完全ではありません。

='Page One'!B8&" "

他の 2 つのフィールドを追加できないのはなぜですか?

前もって感謝します。

シルバータイガー

4

1 に答える 1

0

私は微調整を行って、うまくいく解決策を見つけました。ワークシート要素が次のようにエスケープされていない一重引用符を取りながら、必要なエスケープされた二重引用符を追加したい「テキスト」として、一重引用符と二重引用符の組み合わせはトリッキーでした。

$objPHPExcel->getActiveSheet()->setCellValue('A5', "=CONCATENATE('Page One'!B8,\", \",'Page One'!B9,\" \",'Page One'!B10)");

この解決策は私にとってはうまくいきました。

于 2012-04-04T09:11:21.450 に答える