| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 | 
							- <?php
 
- namespace app\common\util;
 
- use PhpOffice\PhpSpreadsheet\Spreadsheet;
 
- use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
 
- class PhpOffice
 
- {
 
-     public static function export()
 
-     {
 
-         
 
-         $spreadsheet = new Spreadsheet();
 
-         
 
-         $sheet = $spreadsheet->getActiveSheet();
 
-         $QuestionAnswerRecordModel = new \app\common\model\Order();
 
-         $pageList = $QuestionAnswerRecordModel->analysis();
 
-         $list = $pageList['data'];
 
-         $arr = [];
 
-         
 
-         $title = '问卷提交统计Excel';
 
-         $sheet->setCellValue(2,1,$title);
 
-         $sheet->getStyle('B1')
 
-             ->getFont()->setBold(true)
 
-             ->setName('宋体')
 
-             ->setSize(20);
 
-         $styleArray = [
 
-             'borders' => [
 
-                 'left' => [
 
-                     'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN 
 
-                 ],
 
-                 'right' => [
 
-                     'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN 
 
-                 ],
 
-                 'top' => [
 
-                     'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN 
 
-                 ],
 
-                 'bottom' => [
 
-                     'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN 
 
-                 ],
 
-             ],
 
-             'alignment' => [
 
-                 'horizontal' =>  \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,
 
-             ],
 
-         ];
 
-         $styleArrayTitle = [
 
-             'alignment' => [
 
-                 'horizontal' =>  \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,
 
-             ],
 
-         ];
 
-         $sheet->getColumnDimension('B')->setWidth(70);
 
-         $sheet->getStyle('B1')->applyFromArray($styleArrayTitle);
 
-         $i = 2;
 
-         foreach ($list['PaperQuestion'] as $key => $value) {
 
-             $sheet->setCellValue(2,$i+1,$value['content']);
 
-             $sheet->getStyle('B'.($i+1).':'.'F'.($i+1))->applyFromArray($styleArray);
 
-             $sheet->getStyle('B'.($i+1))->getFont()->setBold(true)->setName('宋体')->setSize(15);
 
-             foreach ($value['paperQuestionAnswer'] as $key2=>$value2){
 
-                 $sheet->setCellValue(2,$i+2,$value2['content']);
 
-                 $sheet->setCellValue(5,$i+2,$value2['num']);
 
-                 $sheet->getStyle('B'.($i+2).':'.'F'.($i+2))->applyFromArray($styleArray);
 
-                 $i++;
 
-             }
 
-             $i+=3;
 
-         }
 
-         self::exportBinary($spreadsheet);
 
-     }
 
-     
 
-     public static function exportFile($spreadsheet)
 
-     {
 
-         $writer = new Xlsx($spreadsheet);
 
-         $root = $_SERVER['DOCUMENT_ROOT'];
 
-         $filePath = $root . '/excel/';
 
-         if (!is_dir($filePath)) {
 
-             mkdir($filePath, 0777, true);
 
-         }
 
-         
 
-         $file =  time() . '.xlsx';
 
-         $fileName = $filePath . $file;
 
-         $writer->save($fileName);
 
-         $data = [
 
-             'fileName'=>$fileName,
 
-             'url'=>request()->host().'/excel/'.$file,
 
-         ];
 
-         return $data;
 
-     }
 
-     
 
-     public static function exportBinary($spreadsheet)
 
-     {
 
-         header('Content-Type:application/vnd.ms-excel');
 
-         header('Content-Disposition:attachment;filename=' . time() . '.xls');
 
-         header('Cache-Control:max-age=0');
 
-         $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xls');
 
-         $writer->save('php://output');
 
-         exit;
 
-     }
 
- }
 
 
  |