Результаты запроса возвращаются только на первом листе в PHPspreadsheet - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть несколько листов xlsx Я создаю с использованием PHPSpreadsheet .SQL-запрос отлично работает на первой странице, но только заголовки возвращаются на других листах.Я пробовал отдельные запросы SQL для каждого листа и пробовал отдельные операторы while для каждого листа, но, несмотря ни на что, листы после 1-го не будут возвращать результаты запроса.Вот пример кода:

$sql = "SELECT Field1, Field2, Facility FROM dbo.table WHERE date
BETWEEN '$from' AND '$to'";

$query = sqlsrv_query( $conn, $sql );
$row = 2;

$spreadsheet->setActiveSheetIndex(0);
while( $data = sqlsrv_fetch_object( $query )) {

if ($data->Facility=='Facility1'){

$spreadsheet->getActiveSheet()
->setCellValue('A'.$row , $data->Facility)
->setCellValue('B'.$row , $data->Field1)
->setCellValue('C'.$row , $data->Field2);

$row++; } }

$spreadsheet->getActiveSheet()
->setCellValue('A1' , 'Facility Type')
->setCellValue('B1' , 'Facility ID')
->setCellValue('C1' , 'Location');

// Sheet 2
$spreadsheet->createSheet();
$spreadsheet->setActiveSheetIndex(1);

while( $data = sqlsrv_fetch_object( $query )) {

if ($data->Facility=='Facility2'){

$spreadsheet->getActiveSheet()
->setCellValue('A'.$row , $data->Facility)
->setCellValue('B'.$row , $data->Field1);

Почему он будет работать для первой страницы, а не для страниц 2-7?

...