Как создать файл Excel с помощью PHPExcel? - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь отразить некоторые данные в файле Excel, используя PHPExcel, когда вызывается функция.Файл загружается, но все, что отображается в файле Excel, это гиперссылки из главного меню, а не данные из базы данных.Запрос отлично работает в MySql.

function downloadBNF() {

            global $DB;   

                    $fileName = 'barcodefound';

Заголовочные файлы

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Content-Disposition: attachment;filename="' . $fileName . '.xls"');
        header('Cache-Control: max-age=0');

Файл класса

require_once 'protectExcel/Classes/PHPExcel.php';

require_once 'protectExcel/Classes/PHPExcel/IOFactory.php';

Код для создания файла Excel

$objPHPExcel = new PHPExcel();

$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);

$objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true);



$objPHPExcel->setActiveSheetIndex(0);

$objPHPExcel->getActiveSheet()->setTitle('Favorite');

$objPHPExcel->getActiveSheet()->mergeCells('A1:R1');

$objPHPExcel->getActiveSheet()->setCellValue('A1',$head);

$objPHPExcel->getActiveSheet()->setCellValue('A3','Party Code');

$objPHPExcel->getActiveSheet()->setCellValue('B3','Party Name');

$objPHPExcel->getActiveSheet()->setCellValue('C3','Barcode');

$objPHPExcel->getActiveSheet()->setCellValue('D3','Date');

$objPHPExcel->getActiveSheet()->setCellValue('E3','Serial No');

$row =4;

$fromDate = date('Y-m-d', strtotime($_REQUEST['BNFFrom'])); 

$toDate =  date('Y-m-d', strtotime($_REQUEST['BNFTo']));

Запрос Sql

$sql = "SELECT * FROM `".$DB->pre."sample_not_found` where date >='$date%' and date <='$date1%' and partyCode !='0' ";  

 $rows = $DB->dbRows($sql);
 $DB->numRows;

Остальной код

         if($DB->numRows > 0) {
 foreach($rows as $d){
                  $pcode = $_COOKIE['PARTYCODE'];
                  $sql1 ="select * from mx_party_master where kunnr = $pcode ";
                  $res = $DB->dbRow($sql1);
                  $pname = $res['NAME1'];

    $objPHPExcel->getActiveSheet()->setCellValue('A'.$row, $d['partyCode']);

    $objPHPExcel->getActiveSheet()->setCellValue('B'.$row, $pname);

    $objPHPExcel->getActiveSheet()->setCellValue('C'.$row, $d['barcode']);

    $objPHPExcel->getActiveSheet()->setCellValue('D'.$row, $d['date']);

    $objPHPExcel->getActiveSheet()->setCellValue('E'.$row, $srno) ;
                $row++;

} 

Генерация вывода

        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
                 $objWriter->save('php://output');

                $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
                $objWriter->save('excel-files/' . $fileName . '.xls');

        exit;   

}
}
...