PHPEXCEL:如何基于数组值合并excel行

时间:2014-02-12 01:53:10

标签: php mysql arrays phpexcel

这是我的MySQL生成数组:

$sql_name = "SELECT * FROM ".TABLE_PREFIX."members WHERE member_id IN ($member_id) order by member_id DESC";

$result_name = mysql_query($sql_name, $db);

$name = array();
while ($row = mysql_fetch_assoc($result_name)) {
    $arr1= $row['first_name'];
    $arr = array_push($name ,$arr1);
}

$name1[] = $name;
$objPHPExcel->setActiveSheetIndex()->fromArray($name1, NULL, 'C20');

这是我得到的结果:

enter image description here

我想要的输出是每个数组将填充2行意味着它将采用下一列并将其合并,如下图所示。怎么可能使用合并?..我是新手。请帮我。谢谢!

enter image description here

解决我的问题以供参考之后:

for($row = 20; $row <= 2; $row++) { 

$objPHPExcel->setActiveSheetIndex()->fromArray($name1, NULL, 'C20')->mergeCells('C' . $row . ':D' . $row);
}

我通过向数组添加空格来改变我的sql:

  $arr = array_push($name ,$arr1,'');

1 个答案:

答案 0 :(得分:2)

要合并PHPExcel中的单元格,可以使用

$objPHPExcel->getActiveSheet()
    ->mergeCells('C29:D29');

如开发人员文档的第4.6.34节所述,标题为“合并/取消合并单元格”,但您需要确保在这些单元格中编写和格式化正确的数据

修改

range参数只是一个字符串,因此您可以使用标准的PHP连接在循环中动态构建它。

for($row = 1; $row <= 100; $row++) {
    $objPHPExcel->getActiveSheet()
        ->mergeCells('C' . $row . ':D' . $row);
}