Dwz與thinkphp整合下的數(shù)據(jù)導(dǎo)出到Excel實(shí)例
本文實(shí)例講述了Dwz與thinkphp整合下的數(shù)據(jù)導(dǎo)出到Excel的方法。分享給大家供大家參考。具體方法如下:
這個(gè)問題困擾了我很久,終于還是自己寫JQUERY把它搞掂了,希望能對遇到同樣問題的人有所幫助,好吧,下面就是源代碼:
jquery代碼如下:
//_getIds方法就是獲取已選的要導(dǎo)出的數(shù)據(jù)的ID,設(shè)了兩個(gè)參數(shù)selectedIds--已選id的input名稱,targetType-->碎片模式,默認(rèn)是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;
}
//導(dǎo)出excel的按鈕 class=iconn,click時(shí)觸發(fā)
$(".iconn").click(
function(){
//因?yàn)檫@個(gè)方法直運(yùn)用到導(dǎo)出到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("請選擇要導(dǎo)出的數(shù)據(jù)!");
}else{
//將獲取到的ids 傳給后臺(tái)處理
window.open("__URL__/memberExport/ids/"+ids);
}
});
});
PHP代碼如下:
public function memberExport(){
$id=$_REQUEST['ids'];//獲取已選數(shù)據(jù)的ID
//echo $id;
//在這里導(dǎo)出到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 職務(wù)\t 身份證\t 職稱\t 學(xué)歷\t 畢業(yè)時(shí)間\t 錄用時(shí)間";
$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('操作錯(cuò)誤!');
}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程序設(shè)計(jì)有所幫助。
- thinkPHP5框架導(dǎo)出Excel文件簡單操作示例
- ThinkPHP使用PHPExcel實(shí)現(xiàn)Excel數(shù)據(jù)導(dǎo)入導(dǎo)出完整實(shí)例
- ThinkPHP基于PHPExcel導(dǎo)入Excel文件的方法
- 詳解thinkphp實(shí)現(xiàn)excel數(shù)據(jù)的導(dǎo)入導(dǎo)出(附完整案例)
- ThinkPHP框架實(shí)現(xiàn)導(dǎo)出excel數(shù)據(jù)的方法示例【基于PHPExcel】
- thinkPHP實(shí)現(xiàn)將excel導(dǎo)入到數(shù)據(jù)庫中的方法
- thinkphp3.2中實(shí)現(xiàn)phpexcel導(dǎo)出帶生成圖片示例
- 基于ThinkPHP+uploadify+upload+PHPExcel 無刷新導(dǎo)入數(shù)據(jù)
- thinkPHP導(dǎo)出csv文件及用表格輸出excel的方法
- ThinkPHP 框架實(shí)現(xiàn)的讀取excel導(dǎo)入數(shù)據(jù)庫操作示例
- thinkphp5.1 框架導(dǎo)入/導(dǎo)出excel文件操作示例
相關(guān)文章
CodeIgniter針對lighttpd服務(wù)器URL重寫的方法
這篇文章主要介紹了CodeIgniter針對lighttpd服務(wù)器URL重寫的方法,涉及l(fā)ighttpd服務(wù)器配置及URL配置規(guī)則的相關(guān)技巧,需要的朋友可以參考下2015-06-06php實(shí)現(xiàn)可以設(shè)置中獎(jiǎng)概率的抽獎(jiǎng)程序代碼分享
這篇文章主要介紹了一個(gè)抽獎(jiǎng)程序,要求一等獎(jiǎng)的中獎(jiǎng)概率是0.12%,二等獎(jiǎng)中獎(jiǎng)概率是3%,三等獎(jiǎng)中獎(jiǎng)概率是12%,其他中獎(jiǎng)概率是都是謝謝惠顧2014-01-01layui框架實(shí)現(xiàn)文件上傳及TP3.2.3(thinkPHP)對上傳文件進(jìn)行后臺(tái)處理操作示例
這篇文章主要介紹了layui框架實(shí)現(xiàn)文件上傳及TP3.2.3對上傳文件進(jìn)行后臺(tái)處理操作,結(jié)合實(shí)例形式分析了layui框架結(jié)合thinkPHP進(jìn)行文件上傳與處理操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05