2016-10-17 11 views
0

私は生成されたファイルを作成しようとしています。私はデータベースからユーザー名を取得し、アルファベットの各文字に応じて名前を印刷したいと考えています。私はシートをアルファベット順に作成できますが、各シートには印刷名がありません。ここ は私がこれまで持っているものです。PHPExcelでシートをアルファベット順に並べ替える方法

<?php 
    require_once ('PHPExcel/Classes/PHPExcel.php'); 
    include('inc/database_connection.php'); 
    $conn = mysqli_connect(DATABASE_HOST, DATABASE_USER, DATABASE_PASSWORD, DATABASE_NAME); 

    $conn->set_charset('utf8_unicode_ci');//if not by default 
    // Create new PHPExcel object 
    $objPHPExcel = new PHPExcel(); 
    $F = $objPHPExcel->getActiveSheet(); 

    $Letter='B'; 
    $Number=2; 

    for($i=321; $i<347; $i++) 
    { 
     $F = $objPHPExcel->createSheet($i); //Setting index when creating 

     $F->setCellValue('A1', "Username") 
      ->setCellValue('B1', "Project") 
      ->setCellValue('C1', "Processes"); 

     $request="SELECT username FROM user WHERE username LIKE '".chr($i+32)."%'"; 
     $result= $conn->query($request);//get the result (ressource)   

     if ($result->num_rows > 0) 
     { 
      // output data of each row 
      while($row = $result->fetch_assoc()) 
      {  
       $username=$row["username"]; 
       $F->setCellValue('A'.$Number, ' '.$username.' '); 
       $F->getRowDimension('1')->setRowHeight(20); 
       $F->getColumnDimension($Letter)->setWidth(30); 
       ++$Number; 
      } 
     } else 
     { 
      echo "0 results"; 
     }          

     $F->setTitle(chr($i));  
    } 

// Redirect output to a client’s web browser (Excel5) 
header('Content-Type: application/vnd.ms-excel'); 
header('Content-Disposition: attachment;filename="HeadCount.xls"'); 
header('Cache-Control: max-age=0'); 

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

は、各spreedsheetのためのユーザ名を印刷する方法はありますか?ありがとうございました。

答えて

0

問題はif statement

$objPHPExcel = new PHPExcel(); 
$F = $objPHPExcel->getActiveSheet(); 

for($i=321; $i<347; $i++) 
{ 
    $Letter='B'; 
    $Number=2; 
    $F = $objPHPExcel->createSheet($i); //Setting index when creating 
    $objPHPExcel->setActiveSheetIndex(1); 
    $F->setCellValue('A1', "Username") 
     ->setCellValue('B1', "Project") 
     ->setCellValue('C1', "Processes"); 

    $request="SELECT username FROM user WHERE username LIKE '".chr($i+32)."%'"; 
    $result= $conn->query($request);//get the result (ressource)   

     // output data of each row 
     while($row = $result->fetch_assoc()) 
     {  
      $username=$row["username"]; 
      $F->setCellValue('A'.$Number, ' '.$username.' '); 
      $F->getRowDimension('1')->setRowHeight(20); 
      $F->getColumnDimension($Letter)->setWidth(30); 
      ++$Number; 
     }        
    $F->setTitle(chr($i));  
} 
を除去することで解決しました
関連する問題