0

I am using the PHPSpreadsheet library to convert a generated XLSX file into a PDF. The XLSX conversion and download is working fine, but when I try to convert this XLSX into PDF I am getting empty PDF file, when I try to Opening it, it says the adobe reader/Web reader says "Could not open this file"

<?php
require_once(APPPATH .'third_party/phpspreadsheet/vendor/autoload.php');
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

use PhpOffice\PhpSpreadsheet\Writer\Csv;
use PhpOffice\PhpSpreadsheet\Exception;
use \PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf
$spreadsheet = new Spreadsheet();

$spreadsheet->setActiveSheetIndex(0);
$spreadsheet->setActiveSheetIndex(0)->setCellValue('A1', 'Date')
    ->setCellValue('B1', 'XXXXX')
    ->setCellValue('C1', 'YYYY')
    ->setCellValue('D1', 'ZZZZZ')
    ->setCellValue('E1', 'XXXXX')
    ->setCellValue('F1', 'YYYY')
    ->setCellValue('G1', 'ZZZZ')
    ->setCellValue('H1', 'ZZZZZ');


// code to fill in the data
$spreadsheet->getActiveSheet()->fromArray($data["result_set"],null,'A2');
$writer = new Xlsx($spreadsheet);
IOFactory::registerWriter("PDF", Dompdf::class);
$pdfwriter = IOFactory::createWriter($spreadsheet, 'PDF');

header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="01simple.pdf"');
header('Cache-Control: max-age=0');
$writer->save('php://output');
Panda
  • 6,955
  • 6
  • 40
  • 55
Jothi Kannan
  • 3,320
  • 6
  • 40
  • 77

0 Answers0