qinyao

关于使用PHPEXCEL,首先需要把下载好的文件更名为Excel(PHPExcel.php  PHPExcel文件)放入ThinkPHP包的Vendor文件夹中,算是导入了一个新类。

其次就是关于导出函数的使用,具体代码如下所示:

 public function imorder()
      {     
        $list = $_SESSION[\'depart\'];  //通过SESSION传递过来的已经在数据库中查询出来的数据集。
       $num=count($list);  // 对查询出来的数据进行统计。
        error_reporting(E_ALL);
        ini_set(\'display_errors\', TRUE);
        ini_set(\'display_startup_errors\', TRUE);
  
 
   Vendor(\'Excel.PHPExcel\');
   Vendor(\'Excel.PHPExcel.IOFactory\');
   Vendor(\'Excel.PHPExcel.Reader.Excel5\');
        $objPHPExcel = new PHPExcel();
        $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
                                     ->setLastModifiedBy("Maarten Balliauw")
                                     ->setTitle("Office 2007 XLSX Test Document")
                                     ->setSubject("Office 2007 XLSX Test Document")
                                     ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
                                     ->setKeywords("office 2007 openxml php")
                                     ->setCategory("Test result file");  
        $objPHPExcel->setActiveSheetIndex(0)
                    ->setCellValue(\'A1\', \'学工号\')   //确定导出的表中的每一列的名称。
                    ->setCellValue(\'B1\', \'姓名\')
                    ->setCellValue(\'C1\', \'班级名称\')
     ->setCellValue(\'D1\', \'消费日期\')
     ->setCellValue(\'E1\', \'消费时间\')
        ->setCellValue(\'F1\', \'消费年度\')
     ->setCellValue(\'G1\', \'消费金额\')
        ->setCellValue(\'H1\', \'余额\')
     ->setCellValue(\'I1\', \'操作员\');
  for ($i=0; $i < $num; $i++) {
   $n=$i+2;
        $objPHPExcel->setActiveSheetIndex(0)
                    ->setCellValue(\'A\'.$n, $list[$i][\'STUEMPNO\'])   //每一列对应的数值。
                    ->setCellValue(\'B\'.$n, $list[$i][\'CUSTNAME\'])
                    ->setCellValue(\'C\'.$n, $list[$i][\'CLASSNAME\'])
     ->setCellValue(\'D\'.$n, $list[$i][\'XFDATE\'])
     ->setCellValue(\'E\'.$n, $list[$i][\'XFTIME\'])
     ->setCellValue(\'F\'.$n, $list[$i][\'NDNAME\'])
     ->setCellValue(\'G\'.$n, $list[$i][\'JE\'])
        ->setCellValue(\'H\'.$n, $list[$i][\'YE\'])
     ->setCellValue(\'I\'.$n, $list[$i][\'FIRSTNAME\']);
                 }
        $objPHPExcel->getActiveSheet()->setTitle(\'title\');
        $objPHPExcel->setActiveSheetIndex(0);
        spl_autoload_register(array(\'Think\',\'autoload\'));
        header(\'Content-Type: application/vnd.ms-excel\');
        header(\'Content-Disposition: attachment;filename="文件名.xls"\');  //导出excel文件的名字是已经定义过的。
        header(\'Cache-Control: max-age=0\');
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, \'Excel5\');
        $objWriter->save(\'php://output\');
        exit;
      }

 

分类:

技术点:

相关文章: