2015-04-14 3 views
0

Я использую PHPExcel экспортировать результаты запроса к базе данных Excel, например:Добавить заголовки в экспортированной Excel файл

SELECT * FROM members WHERE BranchID=12345 

И в то время как я могу экспортировать содержимое строки, я тоже (конечно) хочу имеют имена столбцов.

Следующий код работает экспортировать данные:

<?php 
session_start(); 
require_once'PHPExcel.php'; 
$branchID=$_SESSION['ITEM']; 
$SQL = "SELECT * FROM members WHERE BranchID='$branchID' ORDER BY Type"; 
// Execute the database query 
$result =sqlsrv_query($dbhandle, $SQL, array(), array("Scrollable" => 'static')); 

// Instantiate a new PHPExcel object 
$objPHPExcel = new PHPExcel(); 

$objPHPExcel->getProperties()->setCreator("Donor tracking System") 
          ->setLastModifiedBy("DTS") 
          ->setTitle("All members") 
          ->setSubject("Office 2007 XLSX Test Document") 
          ->setDescription("All Members, generated using PHP classes.") 
          ->setKeywords("office 2007 openxml php") 
          ->setCategory("Test result file"); 

// Set the active Excel worksheet to sheet 0 
$objPHPExcel->setActiveSheetIndex(0); 
// Initialise the Excel row number 
$rowCount = 1; 

while($row = sqlsrv_fetch_array($result)){ 
    $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['Name']); 

    $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount,date_format($row['dateOfreg'],"d-m-Y")); 
    // Increment the Excel row counter 
    $rowCount++; 
} 
$objPHPExcel->getActiveSheet()->setTitle('All Members'); 

// Redirect output to a client’s web browser (Excel2007) 
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 
header('Content-Disposition: attachment;filename="allmembers.xls"'); 
header('Cache-Control: max-age=0'); 

// Instantiate a Writer to create an OfficeOpenXML Excel .xlsx file 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 
// Write the Excel file to filename some_excel_file.xlsx in the current directory 
$objWriter->save('php://output'); 

exit; 
?> 

Как добавить заголовки столбцов в Excel файл?

ответ

0

Не имеет смысла просто иметь массив с каждым заголовком столбца, а затем записать его в свой файл прямо перед тем, как вы начнете писать строки, полученные с SQL-сервера?

Напишите заголовки, увеличьте переменную счетчика и запишите оставшиеся строки.

+0

Можете ли вы дать мне код для этого. –

+0

Если вы читаете документацию, вы можете сделать это по-разному, но, возможно, было бы проще всего сделать следующее: '$ objPHPExcel-> getActiveSheet() -> setCellValue ('A1'," BranchID ") - > setCellValue ('B1', "Type") -> setCellValue ('C1', "Item"); ' Это будет действовать сразу после установки активного листа и перед переменной счетчика строк. Затем используйте '$ rowCount = 2;' вместо 1. Документы: [link] (https://github.com/PHPOffice/PHPExcel/wiki/User%20Documentation). – NightOwlPrgmr

Смежные вопросы