Josieboy Ajose
Josieboy Ajose

Reputation: 27

Add custom title to excel columns using PHPEXCEL

i am writing values from a while loop into an excel sheet using PHPEXCEL. in doing this i need to write a title for each of the rows . what i only get now is the result from the database , how can i add a custom title

e.g
                Premier League
EVENTID STARTDATE     STATUS
1022            17-09-2013        Won

                Premier League
EVENTID     STARTDATE     STATUS
3421           22-10-2012        lost

Here is my code

    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("test2");
    $sql=mysql_query("select * from event");

    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
   date_default_timezone_set('Europe/London');


    require_once '../Classes/PHPExcel.php';


    $objPHPExcel = new PHPExcel();


    $objPHPExcel->setActiveSheetIndex(0);
    $rowCount = 1;
    while($row = mysql_fetch_array($sql)){

     $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['EventID']);

     $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['StartDate']);

 $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $row['Status']);
     $rowCount++;
      }

      // Redirect output to a client’s web browser (Excel5)
      header('Content-Type: application/vnd.ms-excel');
      header('Content-Disposition: attachment;filename="01simple.xls"');
      header('Cache-Control: max-age=0');
       // If you're serving to IE 9, then the following may be needed
       header('Cache-Control: max-age=1');

       // If you're serving to IE over SSL, then the following may be needed
        header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
        header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
        header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
         header ('Pragma: public'); // HTTP/1.0

       $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
      $objWriter->save('php://output');
        exit;

Upvotes: 1

Views: 5799

Answers (1)

Pablo R
Pablo R

Reputation: 19

something like this:

$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);

$rowCount = 1;
$customTitle = array ('test a','test b','test c');
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $customTitle[0]);
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $customTitle[1]);
$objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $customTitle[2]);
$rowCount++;

while($row = mysql_fetch_array($sql)){
    $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['EventID']);
    $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['StartDate']);
    $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $row['Status']);
    $rowCount++;
}

Upvotes: 2

Related Questions