Я пытаюсь отразить некоторые данные в файле 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;
}
}