我有一个使用 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页上无效?