如何使用Codeigniter一次创建多个Excel文件

时间:2019-02-26 07:12:10

标签: php

我可以用多个工作表下载excel,如何同时下载多个excel文件,是否可以一次下载多个excel文件?

<?php

public function getUserInfoExport(){

    $this->load->library('excel');
    $obj = new Excel();
    $startdate = '2017-01-01 00:00:00';
    $enddate = '2019-01-01 23:59:59';
    $count = $this->export_model->userDetailCount($startdate,$enddate); // Above 3lakhs datas
    $i=0;
    while ($i < $count) {
        // Add new sheet
        $objWorkSheet = $obj->createSheet($i);
        //Write Heading 
        $objWorkSheet->setCellValue('A1', 'USER_ID');
        $objWorkSheet->getStyle('A1')->getFont()->setBold(true);
        $objWorkSheet->setCellValue('B1', 'USER_NAME');
        $objWorkSheet->getStyle('B1')->getFont()->setBold(true);
        $objWorkSheet->setCellValue('C1', 'EMAIL_ID');
        $objWorkSheet->getStyle('C1')->getFont()->setBold(true);
        $objWorkSheet->setCellValue('D1', 'CONTACT_NO');
        $objWorkSheet->getStyle('D1')->getFont()->setBold(true);
        //Get records based under condition           
        $offset =  ($i == 0) ? '0' : ($i*EXCEL_LIMIT+1);
        $val = $this->export_model->userDetail($startdate,$enddate,$offset);
        $row = 2;
        foreach($val as $value) {
            $objWorkSheet->setCellValue('A'.$row, $value->USER_ID);
            $objWorkSheet->setCellValue('B'.$row, $value->USERNAME);
            $objWorkSheet->setCellValue('C'.$row, $value->EMAIL_ID);
            $objWorkSheet->setCellValue('D'.$row, $value->CONTACT_NO);
            $row++;
        }

        $page = $i+1;
        $objWorkSheet->setTitle("UserInfo$page");//Title Of the Sheet
        $i++;

    }
     $filename='UserInfo.xlsx';
     header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition:attachment;filename="'.$filename.'"');
     header('Cache-Control: max-age=0');     
     $objWriter = PHPExcel_IOFactory::createWriter($obj, 'Excel2007');
     $objWriter->save('php://output');
} ?>

这里我只能下载100k数据。怎么可能获得300k数据?

1 个答案:

答案 0 :(得分:-1)

一次只能下载一个。

如果您想压缩文件,请查看this