Задать имя поля перед значениями с помощью PHPExcel - PullRequest
1 голос
/ 02 февраля 2011

Отредактировано:

Я хочу установить имя поля перед значениями?

->setCellValue('A1','ID');  
->setCellValue('B1','Email');  
->setCellValue('C1','Phone');  
....

У меня много полей

Коды:


$rowNumber = 1;
// Loop through the result set
 while ($row = mysql_fetch_object($result)) {
    $objPHPExcel->getActiveSheet()->setCellValue('A1','ID')
                                  ->setCellValue('B1','Email')
                                      ..... etc               
                                  ->setCellValue('A'.$rowNumber,$row->id)
                                  ->setCellValue('B'.$rowNumber,$row->email);   
                                      ...... etc          
       $rowNumber++;
}

Есть ли другой вариант?

Ответы [ 2 ]

1 голос
/ 02 февраля 2011

Как бы вы это сделали, если бы выводили его в простую таблицу HTML? Вывод в Excel не сильно отличается.

$rowNumber = 1;
// Loop through the result set
while ($row = mysql_fetch_row($result)) {
   $objPHPExcel->getActiveSheet()->setCellValue('A'.$rowNumber,$row['id'].' Mr '.$row['name']);
   $objPHPExcel->getActiveSheet()->setCellValue('B'.$rowNumber,$row['email']);
   $objPHPExcel->getActiveSheet()->setCellValue('C'.$rowNumber,$row['title']);
   $rowNumber++;
}

или даже ...

$rowNumber = 1;
// Loop through the result set
while ($row = mysql_fetch_row($result)) {
   $objPHPExcel->getActiveSheet()->setCellValue('A'.$rowNumber,$row['id'].' Mr '.$row['name'])
                                 ->setCellValue('B'.$rowNumber,$row['email'])
                                 ->setCellValue('C'.$rowNumber,$row['title']);
   $rowNumber++;
}

EDIT

Другой вариант, основанный на вашем редактировании вопроса:

Измените запрос SQL, чтобы выполнить конкатенацию и добавить для вас «Mr», чтобы возвращаемая строка содержала только фактические значения, которые вы хотите записать в каждую ячейку строки Excel, а затем используйте метод fromArray () запишите каждую строку на лист.

0 голосов
/ 01 августа 2017

используйте этот код, чтобы использовать печатающую головку с автоматическим заголовком из базы данных

    $headerArr=array("id","Email","Phone");
    $newsheet = $objPHPExcel->createSheet();
    $colH = 'A';
    $rowNumberH=1;
    foreach ($headerArr as $h) {
        $newsheet->setCellValue($colH . $rowNumberH, $h);
        $colH++;
    }
...