Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPEXCEL行布局_Php_Mysql_Phpexcel - Fatal编程技术网

PHPEXCEL行布局

PHPEXCEL行布局,php,mysql,phpexcel,Php,Mysql,Phpexcel,我想使用PHPEXCEL以以下格式写入csv文件。以粗体显示的类和每个类组后面的空格 但我一直没能找到一个方法来做到这一点 这是我能做的 我从一个sql生成数据,并对其进行循环。这是我的密码 $sql="SELECT * FROM table ORDER BY typeclass"; $query=mysql_query($sql); $check=''; $i=1; while($row=mysql_fetch_assoc($query)) { if($row['c

我想使用PHPEXCEL以以下格式写入csv文件。以粗体显示的类和每个类组后面的空格

但我一直没能找到一个方法来做到这一点

这是我能做的

我从一个sql生成数据,并对其进行循环。这是我的密码

$sql="SELECT * FROM table ORDER BY typeclass";
$query=mysql_query($sql);

$check='';
$i=1;
while($row=mysql_fetch_assoc($query))
{       
    if($row['class']!=$check)
    {
        $objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$row['Class']);
        $check=$row['class'];
    }

    $objPHPExcel->getActiveSheet()->setCellValue('B' .$i,$row['Name']);
    $objPHPExcel->getActiveSheet()->setCellValue('C' .$i,$row['score']);

    $i++;                   
}

有人能帮我获得所需的输出吗。

如何设置单元格粗体格式:

$styleArray = array('font' => array('bold' => true));

$objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray);
可以在插入类名后插入新行

 if($row['class']!=$check)
 {
        $objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$row['Class']);
        $check=$row['class'];

        // Merge the cells with the class name
        $objPHPExcel->getActiveSheet()->mergeCells('A'.$i.':B'.$i);

        $i++; // Next Row
 }
然后您可以将姓名和分数填入A列和B列:

$objPHPExcel->getActiveSheet()->setCellValue('A' .$i,$row['Name']);
$objPHPExcel->getActiveSheet()->setCellValue('B' .$i,$row['score']);
这应该可以解决所有问题。有关使用PHPEXCEL的更多问题,请通过电子邮件与我联系


顺便说一句,可怜的西蒙:(

它很有魅力。谢谢。现在我该如何在第一组和第二组之间添加一个空格?在if语句的开头($row['class]!=$check)使用if($bolSpace)$i++;在if语句的末尾设置$bolSpace=true;如果不是第一类组,这只会添加一个空行。您的电子邮件是什么。我还有几个问题,请注意,作为CSV文件写入将丢失所有格式:CSV文件只支持数据,不支持格式设置。如果希望使用粗体格式,则需要保存在f中支持它的文件格式,如xls(Excel5编写器)或xlsx(Excel2007编写器)