Codeigniter+PHPExcel實(shí)現(xiàn)導(dǎo)出數(shù)據(jù)到Excel文件
PHPExcel是用來(lái)操作OfficeExcel文檔的一個(gè)PHP類(lèi)庫(kù),它基于微軟的OpenXML標(biāo)準(zhǔn)和PHP語(yǔ)言??梢允褂盟鼇?lái)讀取、寫(xiě)入不同格式的電子表格。而Codeigniter是一個(gè)功能強(qiáng)大的PHP框架。二者結(jié)合就能起到非常棒的效果啦!
1.準(zhǔn)備工作
下載PHPExcel:http://phpexcel.codeplex.com
這是個(gè)強(qiáng)大的Excel庫(kù),這里只演示導(dǎo)出Excel文件的功能,其中的大部分功能可能都用不著。
2.安裝PHPExcel到Codeigniter
1)解壓壓縮包里的Classes文件夾中的內(nèi)容到application\libraries\目錄下,目錄結(jié)構(gòu)如下:
--application\libraries\PHPExcel.php
--application\libraries\PHPExcel(文件夾)
2)修改application\libraries\PHPExcel\IOFactory.php文件
--將其類(lèi)名從PHPExcel_IOFactory改為IOFactory,遵從CI類(lèi)命名規(guī)則。
--將其構(gòu)造函數(shù)改為public
3.安裝完畢,寫(xiě)一個(gè)導(dǎo)出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.測(cè)試
加入數(shù)據(jù)庫(kù)有表名為products,此時(shí)可以訪問(wèn)http://www.yoursite.com/table_export/index/products導(dǎo)出Excel文件了。
- 使用PHPExcel實(shí)現(xiàn)數(shù)據(jù)批量導(dǎo)出為excel表格的方法(必看)
- 利用phpExcel實(shí)現(xiàn)Excel數(shù)據(jù)的導(dǎo)入導(dǎo)出(全步驟詳細(xì)解析)
- ThinkPHP使用PHPExcel實(shí)現(xiàn)Excel數(shù)據(jù)導(dǎo)入導(dǎo)出完整實(shí)例
- php實(shí)現(xiàn)利用phpexcel導(dǎo)出數(shù)據(jù)
- Yii中使用PHPExcel導(dǎo)出Excel的方法
- PHPExcel導(dǎo)出2003和2007的excel文檔功能示例
- PHP使用PHPexcel導(dǎo)入導(dǎo)出數(shù)據(jù)的方法
- thinkphp3.2中實(shí)現(xiàn)phpexcel導(dǎo)出帶生成圖片示例
- 基于PHPExcel的常用方法總結(jié)
- PHPExcel實(shí)現(xiàn)表格導(dǎo)出功能示例【帶有多個(gè)工作sheet】
相關(guān)文章
laradock環(huán)境docker-compose操作詳解
在本篇文章中小編給大家整理的是關(guān)于laradock環(huán)境docker-compose操作的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們參考學(xué)習(xí)下。2019-07-07
thinkphp5.1 框架導(dǎo)入/導(dǎo)出excel文件操作示例
這篇文章主要介紹了thinkphp5.1 框架導(dǎo)入/導(dǎo)出excel文件操作,結(jié)合實(shí)例形式分析了thinkphp5.1 框架導(dǎo)入/導(dǎo)出excel文件具體操作實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-05-05
淺談PHP的數(shù)據(jù)庫(kù)接口和技術(shù)
下面小編就為大家?guī)?lái)一篇淺談PHP的數(shù)據(jù)庫(kù)接口和技術(shù)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12

