How to generate an Excel document with multiple worksheets from PHP?

后端 未结 4 1257
执笔经年
执笔经年 2020-11-29 00:36

I want to generate an MS Excel file from PHP. I know one can do something like this:

header ( \"Content-type: application/vnd.ms-excel\" );
header ( \"Conten         


        
4条回答
  •  天涯浪人
    2020-11-29 01:19

    You can achieve this by THIS IS DONE BY

     $objPHPExcel = new PHPExcel();
     $objPHPExcel->getProperties()->setCreator("creater");
     $objPHPExcel->getProperties()->setLastModifiedBy("Middle field");
     $objPHPExcel->getProperties()->setSubject("Subject");
     $objWorkSheet = $objPHPExcel->createSheet();
     $work_sheet_count=3//number of sheets you want to create
     $work_sheet=0;
     while($work_sheet<=$work_sheet_count){ 
         if($work_sheet==0){
             $objWorkSheet->setTitle("Worksheet$work_sheet");
             $objPHPExcel->setActiveSheetIndex($work_sheet)->setCellValue('A1', 'SR No. In sheet 1')->getStyle('A1')->getFont()->setBold(true);
             $objPHPExcel->setActiveSheetIndex($work_sheet)->setCellValueByColumnAndRow($col++, $row++, $i++);//setting value by column and row indexes if needed
         }
         if($work_sheet==1){
             $objWorkSheet->setTitle("Worksheet$work_sheet");
             $objPHPExcel->setActiveSheetIndex($work_sheet)->setCellValue('A1', 'SR No. In sheet 2')->getStyle('A1')->getFont()->setBold(true);
             $objPHPExcel->setActiveSheetIndex($work_sheet)->setCellValueByColumnAndRow($col++, $row++, $i++);//setting value by column and row indexes if needed
         }
         if($work_sheet==2){
             $objWorkSheet = $objPHPExcel->createSheet($work_sheet_count);
             $objWorkSheet->setTitle("Worksheet$work_sheet");
             $objPHPExcel->setActiveSheetIndex($work_sheet)->setCellValue('A1', 'SR No. In sheet 3')->getStyle('A1')->getFont()->setBold(true);
             $objPHPExcel->setActiveSheetIndex($work_sheet)->setCellValueByColumnAndRow($col++, $row++, $i++);//setting value by column and row indexes if needed
         }
         $work_sheet++;
     }
    

    $filename='file-name'.'.xls'; //save our workbook as this file name header('Content-Type: application/vnd.ms-excel'); //mime type header('Content-Disposition: attachment;filename="'.$filename.'"'); //tell browser what's the file name header('Cache-Control: max-age=0'); //no cache

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

提交回复
热议问题