PHPExcel的使用

1.固然是下載PHPexcel的插件了    http://phpexcel.codeplex.com/php

2.應用插件 我把插件和須要用到的excel模板放的是不一樣文件夾的,excel我放在public下的upload文件夾裏,excel插件我放在vendor文件裏數組

3.控制器的引用方法,這些應該是必須的app

注:由於我用的是thinkcmf5,裏面有自帶的phpexcel的方法,因此大家用其餘框架的我不知道可不能夠用,若是不能夠用,請把Loader改成框架

1 vendor('PHPExcel.Classes.PHPExcel');
2 vendor('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');

上面的若是讀不出來,可能就是裏面的路徑沒寫對spa

 

 1   $dir = 'upload/';         //模板存放目錄
 2             $templateName = 'account.xlsx';             //模板表
 3             $path = dirname(__FILE__);               //找到當前腳本所在路徑
 4             Loader::import('PHPExcel.Classes.PHPExcel');
 5             Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');
 6 
 7             $PHPExcel = new \PHPExcel();
 8             $PHPReader = new \PHPExcel_Reader_Excel2007();
 9             //讀取Excel
10             $PHPExcel = $PHPReader->load($dir.$templateName);
11             $currentSheet = $PHPExcel->getSheet(0);

4.樣式設置,你也能夠不設置插件

 2  //設置水平居中 3             $PHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal( \PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 4             $PHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 5             $PHPExcel->getActiveSheet()->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 6             $PHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 7             $PHPExcel->getActiveSheet()->getStyle('E')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 8             $PHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 9             $PHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
10             $PHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
11             $PHPExcel->getActiveSheet()->getStyle('I')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
12             $PHPExcel->getActiveSheet()->getStyle('J')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
13             $PHPExcel->getActiveSheet()->getStyle('K')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

5.把數據導入到excel模板裏面,個人是個二維數組excel

 1 for($i=0;$i<count($deal);$i++){
 2                 $currentSheet->setCellValue('A'.($i+3), date('Y-m-d H:i:s', $deal[$i]['create_time'])); //日期
 3                 $currentSheet->setCellValue('B'.($i+3),$deal[$i]['deal_type']); //交易類型
 4                 $currentSheet->setCellValue('C'.($i+3),$deal[$i]['roll_name']); //支出帳戶名稱
 5                 $currentSheet->setCellValue('D'.($i+3),$deal[$i]['roll_user']); //支出帳號
 6                 $currentSheet->setCellValue('E'.($i+3),$deal[$i]['receive_name']); //收入帳號名稱
 7                 $currentSheet->setCellValue('F'.($i+3),$deal[$i]['receive_user']); //收入帳戶
 8                 $currentSheet->setCellValue('G'.($i+3),$deal[$i]['account']); //交易金額
 9                 $currentSheet->setCellValue('H'.($i+3),$deal[$i]['roll_account']); //支出帳號交易後餘額
10                 $currentSheet->setCellValue('I'.($i+3),$deal[$i]['receive_account']); //收入帳號交易後餘額
11                 $currentSheet->setCellValue('J'.($i+3),$deal[$i]['user']); //操做員
12                 $currentSheet->setCellValue('K'.($i+3),$deal[$i]['remark']); //訂單備註
13             }

6.這樣就能夠下載下來了,有兩種輸出格式,excel輸出是有表格線條的,網頁輸出沒有表格線條code

 

 1         ob_clean();
 2             ob_start();
 3             $objWriteHTML = new \PHPExcel_Writer_Excel2007($PHPExcel); //輸出EXCLl格式的對象
 4             header("Content-type: application/octet-stream;charset=utf-8");
 5             header('Content-Type: application/vnd.ms-excel');
 6             header('Content-Disposition: attachment;filename="funds.xlsx"');  //日期爲文件名後綴
 7             header('Cache-Control: max-age=0');
 8             $objWriteHTML->save("php://output");
 9 
10             exit;//退出

 

 7.完成對象

相關文章
相關標籤/搜索