PHPExcel是用來操作OfficeExcel文檔的一個PHP類庫,它基於微軟的OpenXML標準和PHP語言。可以使用它來讀取、寫入不同格式的試算表。而Codeigniter是一個功能強大的PHP架構。二者結合就能起到非常棒的效果啦!
1.準備工作
下載PHPExcel:http://phpexcel.codeplex.com
這是個強大的Excel庫,這裡只示範匯出Excel檔案的功能,其中的大部分功能可能都用不著。
2.安裝PHPExcel到Codeigniter
1)解壓壓縮包裡的Classes檔案夾中的內容到application\libraries\目錄下,目錄結構如下:
--application\libraries\PHPExcel.php
--application\libraries\PHPExcel(檔案夾)
2)修改application\libraries\PHPExcel\IOFactory.php檔案
--將其類名從PHPExcel_IOFactory改為IOFactory,遵從CI類命名規則。
--將其建構函式改為public
3.安裝完畢,寫一個匯出excel的控制器(Controller)
代碼如下:
複製代碼 代碼如下:classTable_exportextendsCI_Controller{
function__construct()
{
parent :: __construct();
// Hereyoushouldaddsomesortofuservalidation
// topreventstrangersfrompullingyourtabledata
}
functionindex($table_name)
{
$query = $this -> db -> get($table_name);
if(!$query)
returnfalse;
// StartingthePHPExcellibrary
$this -> load -> library('PHPExcel');
$this -> load -> library('PHPExcel/IOFactory');
$objPHPExcel = newPHPExcel();
$objPHPExcel -> getProperties() -> setTitle("export") -> setDescription("none");
$objPHPExcel -> setActiveSheetIndex(0);
// Fieldnamesinthefirstrow
$fields = $query -> list_fields();
$col = 0;
foreach($fieldsas$field)
{
$objPHPExcel -> getActiveSheet() -> setCellValueByColumnAndRow($col, 1, $field);
$col++;
}
// Fetchingthetabledata
$row = 2;
foreach($query -> result()as$data)
{
$col = 0;
foreach($fieldsas$field)
{
$objPHPExcel -> getActiveSheet() -> setCellValueByColumnAndRow($col, $row, $data -> $field);
$col++;
}
$row++;
}
$objPHPExcel -> setActiveSheetIndex(0);
$objWriter = IOFactory :: createWriter($objPHPExcel, 'Excel5');
// Sendingheaderstoforcetheusertodownloadthefile
header('Content-Type:application/vnd.ms-excel');
header('Content-Disposition:attachment;filename="Products_' . date('dMy') . '.xls"');
header('Cache-Control:max-age=0');
$objWriter -> save('php://output');
}
}
4.測試
加入資料庫有表名為products,此時可以訪問http://www.yoursite.com/table_export/index/products匯出Excel檔案了。
http://www.bkjia.com/PHPjc/788630.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/788630.htmlTechArticlePHPExcel是用來操作OfficeExcel文檔的一個PHP類庫,它基於微軟的OpenXML標準和PHP語言。可以使用它來讀取、寫入不同格式的試算表。而Codeign...