在PHPExcel中,我合并了三个单元,并具有foreach循环。合并后未打印结果下一个值
$periodOne=数组(数组('SNO','evaluation','TOT','AVG','CLS TOT','CLS AVG','DIFF')在PHPExcel中,我合并了三个单元,并具有foreach循环。合并后未打印结果下一个值,php,joomla,phpexcel,Php,Joomla,Phpexcel,$periodOne=数组(数组('SNO','evaluation','TOT','AVG','CLS TOT','CLS AVG','DIFF') 除了你多次合并B7:D7之外;然后,您还尝试获取单元格C7和D7(由于它们合并到B7中而不再存在),并找到解决方案。。但这有点棘手,if-else的情况对我有帮助。一个解决方案是:将合并移到foreach循环之前,并在数组中添加两个伪空值来代替C列和DAn列,另一种方法是使您的$periodOne数组按列关联('a'=>'NO','B'=>'ev
除了你多次合并B7:D7之外;然后,您还尝试获取单元格C7和D7(由于它们合并到B7中而不再存在),并找到解决方案。。但这有点棘手,if-else的情况对我有帮助。一个解决方案是:将合并移到foreach循环之前,并在数组中添加两个伪空值来代替C列和DAn列,另一种方法是使您的
$periodOne
数组按列关联('a'=>'NO','B'=>'evaluation','E'=>'TOT','F'=>'AVG',等等)
并在setCellValue中使用该列引用,而不是$columnID
$rowID = 7;
foreach($periodOne as $rowArray) {
$columnID = 'A';
foreach($rowArray as $columnValue) {
$this->setActiveSheetIndex(0)->mergeCells('B7:D7');
$this->getActiveSheet()->setCellValue($columnID.$rowID,$columnValue);
$columnID++;
}
$rowID++;
}
$periodOne=array(array('SNO','Appraisal','TOT','AVG','CLS TOT','CLS AVG','DIFF'));
$rowID = 7;
foreach($periodOne as $rowArray) {
$columnID = 'A';
foreach($rowArray as $columnValue) {
if($columnID.$rowID == 'C7')
{
$columnID = 'E';
$this->getActiveSheet()->setCellValue($columnID.$rowID,$columnValue);
}
else
{
$this->getActiveSheet()->setCellValue($columnID.$rowID,$columnValue);
}
$columnID++;
}
$rowID++;
}