PHPExcel 文件不再写入

PHPExcel file no longer writing

我不知道这里出了什么问题,但之前导出的是 excel 文件,但只有 headers,没有数据。

现在正在打印它已成功连接到数据库,然后作业完成且没有错误,但它不会创建新的 excel 文件。我将其更改为使用 PDO,此时它完全停止打印文件。

我如何才能正确地将其更改为 create/write 文件并实际打印查询中的结果行?

    $DB2Dev = new PDO("odbc:DSN=connnection1;", "user", "password");
    if($DB2Dev){
            $connectionMessage =  "DB2 connection successful";
            print_r($connectionMessage);
        }else{
            $connectionMessage = "DB2 NOT CONNECTED!";
            print_r($connectionMessage);
        }
    $DB2Dev->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


    //Create and run query
    $sql = "
    SELECT manager, count(*) as items
      from items
    where start_date >= '2019-01-01'
    group by manager
    order by manager";


    try {
        $itemDetails = $DB2conn->prepare($sql);
        $detailRslt = $itemDetails->execute();

    }catch(PDOException $ex) {
        $detailSelectError = "QUERY ONE FAILED!: " .$ex->getMessage();
    }

    $phpExcel = new PHPExcel;
    $sheet = $phpExcel->getActiveSheet();
    $sheet ->setTitle("Item Counts");
    $sheet ->getColumnDimension('A') -> setAutoSize(true);
    $sheet ->getColumnDimension('B') -> setAutoSize(true);



    //Create header row
    $sheet->setCellValue('A1', 'Manager');
    $sheet->setCellValue('B1', 'Items');

    $rowCount = 1;

    while($row = $itemDetails->fetch(PDO::FETCH_ASSOC)){
        var_dump($row);
        $sheet->setCellValue('A'.$rowCount, $row['manager']);
        $sheet->setCellValue('B'.$rowCount, $row['items']);

        $rowCount++;
    }

    $writer = PHPExcel_IOFactory::createWriter($phpExcel, "Excel2007");
    $writer->save('Item Counts.xlsx');

它不起作用,因为在您使用它时“$DB2conn”不存在。我认为它应该是 $DB2Dev。如果你修复它,这个脚本将正确执行。