PHPExcel - 组合来自另一个工作表的多个单元格

时间:2012-04-04 08:26:27

标签: php phpexcel

我有一个项目,我在第一个工作表上有以下单元格:

// 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");
第一页

变量全部起作用。在第二页SSN和DOB工作..但第一个字段(A5)没有显示“城市,州ZIP”,它只显示城市。

导出后,在Excel中,单元格中的数据不完整:

='Page One'!B8&" "

为什么没有添加其他2个字段?

提前感谢。

Silver Tiger

1 个答案:

答案 0 :(得分:0)

我一直在调整并找到一个有效的解决方案..单引号和双引号的组合很棘手,因为“文本”我想添加所需的转义双引号,而工作表元素采用未转义的单引号如下:

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

这个解决方案对我很有用。

相关问题