phpexcel 是一個可以讓 php 簡單的對 excel 進行匯入匯出的套件
但是CodeIgniter 自己就沒有這麼方便的功能,透過載入第三方的函數庫
讓CodeIgniter 可以使用phpexcel
1.請先上 PHPExcel 下載Lib
https://phpexcel.codeplex.com/
2.解壓縮以後把 Classes 資料夾底下的檔案都複製到 application\third_party 裡面
我習慣在裡面再一個目錄分類,以防止放太多第三方元件導致混亂
![phpexcel_2.png phpexcel_2.png](https://imageproxy.pixnet.cc/imgproxy?url=https://pic.pimg.tw/expect7/1476780447-366722226.png)
3.去 libraries 資料夾建立一個 excel.php 的檔案,內容如下:
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once APPPATH."/third_party/PHPExcel/PHPExcel.php";
class Excel extends PHPExcel {
public function __construct() {
parent::__construct();
}
}
|
當中 require_one後面接的地方,要看你自己,我是有再多建一層目錄,所以這個部分你要自己注意。
完成上述的動作,表示你已經可以使用了。
可以在Control中建立範例程式。
$this->load->library('excel');
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', '中文');
$objPHPExcel->getActiveSheet()->setCellValue('B2', '許');
$objPHPExcel->getActiveSheet()->setCellValue('C3', 'test3');
$objPHPExcel->getActiveSheet()->setCellValue('D3', 'test4');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="att_report_' . date('dMy') . '.xlsx"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
|
要注意,如果你Excel選Excel2007隔式,副檔名要改成xlsx。
如果你格式選擇Excel2007,但是副檔名用xls,再office2003 開啟會出現錯誤。