查询结果仅在PHPspreadsheet中的第一个工作表上返回

时间:2018-09-25 19:00:13

标签: php sql-server-2012 phpspreadsheet

我有一个使用 PHPSpreadsheet 创建的多页 xlsx 。 SQL查询在首页上效果很好,但是在其他工作表上仅返回标题。我已经为每个工作表尝试了单独的SQL查询,并且为每个工作表尝试了单独的while语句,但是无论如何,第一天之后的工作表将不会返回查询结果。这是代码示例:

$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页上无效?

0 个答案:

没有答案