Я хочу создать сценарий на основе PHP, чтобы получить данные MySQL в Excel, текстовые и PDF-файлы. Здесь Excel и текст непосредственно из базы данных и необходимо генерировать оформленный PDF из HTML на ежедневной основе и удалять старые файлы ежедневно. Также нужно знать, как использовать cron в лампе localhost.
Может кто-нибудь мне помочь.
Я сделал это с помощью PHPExcel .. Вот пример:
`$ objPHPExcel = new PHPExcel ();
$objPHPExcel->setActiveSheetIndex(0);
$col = 1;
$struc=array(
"Col 1",
"Col 2",
"Col 3");
$alphas = array("A", "B", 'C','D', 'E', 'F', 'G', 'H','I', 'J', 'K', 'L', 'M', 'N','O', 'P','Q','R','S');
$styleArray = array( 'font' => array( 'bold' => true, ), 'alignment' => array( 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT, ), 'borders' => array( 'top' => array( 'style' => PHPExcel_Style_Border::BORDER_THIN, ), ), 'fill' => array( 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR, 'rotation' => 90, 'startcolor' => array( 'argb' => 'FFA0A0A0', ), 'endcolor' => array( 'argb' => 'FFFFFFFF', ), ), );
foreach ( $struc as $key => $val){
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($key, $col, $val);
$objPHPExcel->getActiveSheet()->getColumnDimension($alphas[$key])->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getStyle($alphas[$key]."1")->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK);
$objPHPExcel->getActiveSheet()->getStyle($alphas[$key]."1")->applyFromArray($styleArray);
}
$col++;
foreach ( $items as $item){
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(0, $col, $item->xname.' '.$item->xfamily);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1,$col, $item->col1);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(2, $col,$item->col2);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(3, $col,$item->col3);
$col++;
}
$styleArray = array(
'borders' => array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN
)
)
);
$excelRow = 2;
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment; filename="user-report-'.$this->view->PersianDate(date("Y-m-d"), "%d", false).'.xls"');
$ ObjWriter-> Сохранить ( ‘PHP: // выход’);
`
Вам не нужно использовать PHPExcel для создания файла Excel, использующего данные из базы данных.
Вы можете сделать это даже без него, используя \ t для каждого столбца и \ r \ n в конце каждой строки.
http://www.the-art-of-web.com/php/dataexport/ даст вам подробное объяснение, как это сделать
Используйте PHPExcel для чтения или создания более сложных файлов