PHPExcel файл больше не пишет - PullRequest
       8

PHPExcel файл больше не пишет

0 голосов
/ 24 февраля 2019

Я не могу понять, что здесь пошло не так, но раньше это был экспорт файла 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');

1 Ответ

0 голосов
/ 24 февраля 2019

Он не работает, потому что $ DB2conn не существует, когда вы его используете.Я думаю, что это должен быть $ DB2Dev.Если вы исправите это, этот скрипт будет выполнен правильно.

...