Вывести имена в алфавитном порядке на каждый лист в excel

202
26 ноября 2016, 20:10

В общем я пытаюсь сгенерировать ексель файл с именами из базы данных. У меня получилось распечатать и создать листы с каждой буквой алфавита. Но вот именами проблема. Каким способом можно сделать это?

Вот что у мен имеется:

// Create new PHPExcel object
$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)          
    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));      
}   

Спасибо за помощь.

Answer 1

проблему решил путем удаления 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));      
}   
READ ALSO
Как вывести пять случайных строк из одной категории?

Как вывести пять случайных строк из одной категории?

Есть таблица с полями id, name, hitВ ней 100 записей

235
OpenCart, где править калькулятор цен товаров?

OpenCart, где править калькулятор цен товаров?

Здравствуйте, девелоперы! На опенкарт, дописываю свой модуль, делаю ручное управление цен, по этому дописовал и переписывал валюту, но калькулятор,...

262
Почему (65=&#39;65ae3ee2-aeb2-427f-8381-56db91b94363&#39;) -&gt; TRUE?

Почему (65='65ae3ee2-aeb2-427f-8381-56db91b94363') -> TRUE?

Запрос SELECT * FROM families WHERE id = '65ae3ee2-aeb2-427f-8381-56db91b94363' OR fam_code = '65ae3ee2-aeb2-427f-8381-56db91b94363' возвращает две записи:

217