Dwz與thinkphp整合下的數(shù)據(jù)導出到Excel實例
更新時間:2014年12月04日 10:58:30 投稿:shichen2014
這篇文章主要介紹了Dwz與thinkphp整合下的數(shù)據(jù)導出到Excel的方法,是結(jié)合jQuery與ThinkPHP框架實現(xiàn)的導出Excel技巧,非常具有實用價值,需要的朋友可以參考下
本文實例講述了Dwz與thinkphp整合下的數(shù)據(jù)導出到Excel的方法。分享給大家供大家參考。具體方法如下:
這個問題困擾了我很久,終于還是自己寫JQUERY把它搞掂了,希望能對遇到同樣問題的人有所幫助,好吧,下面就是源代碼:
jquery代碼如下:
復制代碼 代碼如下:
$(function(){
//_getIds方法就是獲取已選的要導出的數(shù)據(jù)的ID,設了兩個參數(shù)selectedIds--已選id的input名稱,targetType-->碎片模式,默認是navTab,如果是dialog的自行修改
function _getIds(selectedIds,targetType){
var ids="";
var $box=targetType=="dialog"?$.pdialog.getCurrent():navTab.getCurrentPanel();
$box.find("input:checked").filter("[name='"+selectedIds+"']").each(function(i){
var val=$(this).val();
ids+=i==0?val:","+val;});
return ids;
}
//導出excel的按鈕 class=iconn,click時觸發(fā)
$(".iconn").click(
function(){
//因為這個方法直運用到導出到excel 所以這里所需的參數(shù)變量我直接寫死了
var targetType="navTab";
var selectedIds="ids";
var postType="string";//批量選擇的話,以文本的形式獲取
var ids=_getIds(selectedIds,targetType);
if(!ids){
alertMsg.error($(".iconn").attr("warn"));
return false;
//alert("請選擇要導出的數(shù)據(jù)!");
}else{
//將獲取到的ids 傳給后臺處理
window.open("__URL__/memberExport/ids/"+ids);
}
});
});
//_getIds方法就是獲取已選的要導出的數(shù)據(jù)的ID,設了兩個參數(shù)selectedIds--已選id的input名稱,targetType-->碎片模式,默認是navTab,如果是dialog的自行修改
function _getIds(selectedIds,targetType){
var ids="";
var $box=targetType=="dialog"?$.pdialog.getCurrent():navTab.getCurrentPanel();
$box.find("input:checked").filter("[name='"+selectedIds+"']").each(function(i){
var val=$(this).val();
ids+=i==0?val:","+val;});
return ids;
}
//導出excel的按鈕 class=iconn,click時觸發(fā)
$(".iconn").click(
function(){
//因為這個方法直運用到導出到excel 所以這里所需的參數(shù)變量我直接寫死了
var targetType="navTab";
var selectedIds="ids";
var postType="string";//批量選擇的話,以文本的形式獲取
var ids=_getIds(selectedIds,targetType);
if(!ids){
alertMsg.error($(".iconn").attr("warn"));
return false;
//alert("請選擇要導出的數(shù)據(jù)!");
}else{
//將獲取到的ids 傳給后臺處理
window.open("__URL__/memberExport/ids/"+ids);
}
});
});
PHP代碼如下:
復制代碼 代碼如下:
//member成員信息導出到excel
public function memberExport(){
$id=$_REQUEST['ids'];//獲取已選數(shù)據(jù)的ID
//echo $id;
//在這里導出到excel我沒有用到phpexcel,是自己寫的,很簡單,相信大家都明白是什么意思,根據(jù)自己需要自行修改就行了
$filename=date('Y-m-d');
header("Pragma:public");
header("Expires:0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl;charset=gb2312");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename="'.$filename.'.xls"');
header("Content-Transfer-Encoding:binary");
if(!$id){
$this->error('非法操作!');
}else{
$map['id']=array('in',$id);
$title="用戶名\t 姓名\t 部門\t 職務\t 身份證\t 職稱\t 學歷\t 畢業(yè)時間\t 錄用時間";
$title=iconv('utf-8','gbk',$title);
echo $title;
set_time_limit(0);
$offset= 0;
$length=100;
$Member = M('Member');
$list=$Member->where($map)->order('id desc')->select();
if(!$list){
$this->error('操作錯誤!');
}else{
foreach($list as $key=>$row){
echo "\n";
echo iconv('utf-8','gbk',$row['username'])."\t";
echo iconv('utf-8','gbk',$row['name'])."\t";
echo iconv('utf-8','gbk',$row['department'])."\t";
echo iconv('utf-8','gbk',$row['zhiwu'])."\t";
echo iconv('utf-8','gbk',$row['sfz'])."\t";
echo iconv('utf-8','gbk',$row['zhicheng'])."\t";
echo iconv('utf-8','gbk',$row['xueli'])."\t";
echo iconv('utf-8','gbk',$row['bytime'])."\t";
echo iconv('utf-8','gbk',$row['lytime'])."\t";
}
$offset+=$length;
}
}
}
public function memberExport(){
$id=$_REQUEST['ids'];//獲取已選數(shù)據(jù)的ID
//echo $id;
//在這里導出到excel我沒有用到phpexcel,是自己寫的,很簡單,相信大家都明白是什么意思,根據(jù)自己需要自行修改就行了
$filename=date('Y-m-d');
header("Pragma:public");
header("Expires:0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl;charset=gb2312");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename="'.$filename.'.xls"');
header("Content-Transfer-Encoding:binary");
if(!$id){
$this->error('非法操作!');
}else{
$map['id']=array('in',$id);
$title="用戶名\t 姓名\t 部門\t 職務\t 身份證\t 職稱\t 學歷\t 畢業(yè)時間\t 錄用時間";
$title=iconv('utf-8','gbk',$title);
echo $title;
set_time_limit(0);
$offset= 0;
$length=100;
$Member = M('Member');
$list=$Member->where($map)->order('id desc')->select();
if(!$list){
$this->error('操作錯誤!');
}else{
foreach($list as $key=>$row){
echo "\n";
echo iconv('utf-8','gbk',$row['username'])."\t";
echo iconv('utf-8','gbk',$row['name'])."\t";
echo iconv('utf-8','gbk',$row['department'])."\t";
echo iconv('utf-8','gbk',$row['zhiwu'])."\t";
echo iconv('utf-8','gbk',$row['sfz'])."\t";
echo iconv('utf-8','gbk',$row['zhicheng'])."\t";
echo iconv('utf-8','gbk',$row['xueli'])."\t";
echo iconv('utf-8','gbk',$row['bytime'])."\t";
echo iconv('utf-8','gbk',$row['lytime'])."\t";
}
$offset+=$length;
}
}
}
希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。
您可能感興趣的文章:
- thinkPHP5框架導出Excel文件簡單操作示例
- ThinkPHP使用PHPExcel實現(xiàn)Excel數(shù)據(jù)導入導出完整實例
- ThinkPHP基于PHPExcel導入Excel文件的方法
- 詳解thinkphp實現(xiàn)excel數(shù)據(jù)的導入導出(附完整案例)
- ThinkPHP框架實現(xiàn)導出excel數(shù)據(jù)的方法示例【基于PHPExcel】
- thinkPHP實現(xiàn)將excel導入到數(shù)據(jù)庫中的方法
- thinkphp3.2中實現(xiàn)phpexcel導出帶生成圖片示例
- 基于ThinkPHP+uploadify+upload+PHPExcel 無刷新導入數(shù)據(jù)
- thinkPHP導出csv文件及用表格輸出excel的方法
- ThinkPHP 框架實現(xiàn)的讀取excel導入數(shù)據(jù)庫操作示例
- thinkphp5.1 框架導入/導出excel文件操作示例
相關文章
CodeIgniter針對lighttpd服務器URL重寫的方法
這篇文章主要介紹了CodeIgniter針對lighttpd服務器URL重寫的方法,涉及l(fā)ighttpd服務器配置及URL配置規(guī)則的相關技巧,需要的朋友可以參考下2015-06-06layui框架實現(xiàn)文件上傳及TP3.2.3(thinkPHP)對上傳文件進行后臺處理操作示例
這篇文章主要介紹了layui框架實現(xiàn)文件上傳及TP3.2.3對上傳文件進行后臺處理操作,結(jié)合實例形式分析了layui框架結(jié)合thinkPHP進行文件上傳與處理操作相關實現(xiàn)技巧,需要的朋友可以參考下2018-05-05