PHPExcel文件不再写了

问题描述 投票:0回答:1

我无法弄清楚这里出了什么问题,但之前这是导出excel文件但只有标题,没有数据。

现在打印它已成功连接到数据库,然后作业完成而没有错误,但它不会创建新的Excel文件。我把它更改为使用PDO,这是它完全停止打印文件的时候。

如何更改此选项以正确创建/写入文件并实际从查询中打印结果行?

    $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');
php sql phpexcel
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.