php excel 导入配置,Thinkphp3.2.3整合PHPexcel进行导入导出操作
前端按鈕
導(dǎo)出Excel
AJAX提交
$(function?()?{
$(".excel").on("click",function?()?{
var?data?=?$(".inputcheckbox:checked").map(function?(i,e){return?$(e).val()}).get().join(','),
_url?=?$(this).attr("_href");
$.post(_url,{data:data},function(data){
if?(data.status)?{
window.location.href?=?"{:U(CONTROLLER_NAME.'/excel')}/excid/"+data.excid;
}
},'json');
});
})
控制器方法:
//導(dǎo)出excel
public?function?excel?()?{
//處理勾選內(nèi)容
if?(IS_AJAX)?{
$this->ajaxReturn(array('excid'=>I('post.data',0),'status'=>1));
}
$excid?=?I('get.excid');
if?(empty($excid))?{
$data?=?$this->feedback->select();?//整表查詢(xún)
}?else?{
$data?=?$this->feedback->where(array('id'=>array('IN',explode(",",?$excid))))->select();?//條件查詢(xún)
}
$fields?=?$this->feedback->getDbFields();?//獲取數(shù)據(jù)表?字段
$name?=?C('name')???C('name')?:?'Excel'.date('Y-m-d');?//導(dǎo)出Excel名稱(chēng)
$this->exportExcel($data,?C('name'),?$fields);?//開(kāi)始導(dǎo)出
}
//導(dǎo)出方法
public?function?exportExcel($data,?$savefile?=?null,?$title?=?null,?$sheetname?=?'sheet1')?{
Vendor('Excel.PHPExcel');
//若沒(méi)有指定文件名則為當(dāng)前時(shí)間戳
if?(is_null($savefile))?{
$savefile?=?time();
}
//若指字了excel表頭,則把表單追加到正文內(nèi)容前面去
if?(is_array($title))?{
array_unshift($data,?$title);
}
$objPHPExcel?=?new?\PHPExcel();
//Excel內(nèi)容
$head_num?=?count($data);
foreach?($data?as?$k?=>?$v)?{
$obj?=?$objPHPExcel->setActiveSheetIndex(0);
$row?=?$k?+?1;?//行
$nn?=?0;
foreach?($v?as?$vv)?{
$col?=?chr(65?+?$nn);?//列
$obj->setCellValue($col?.?$row,?$vv);?//列,行,值
$nn++;
}
}
//設(shè)置列頭標(biāo)題
for?($i?=?0;?$i?
$alpha?=?chr(65?+?$i);
$objPHPExcel->getActiveSheet()->getColumnDimension($alpha)->setAutoSize(true);?//單元寬度自適應(yīng)
$objPHPExcel->getActiveSheet()->getStyle($alpha?.?'1')->getFont()->setName("Candara");??//設(shè)置字體
$objPHPExcel->getActiveSheet()->getStyle($alpha?.?'1')->getFont()->setSize(12);??//設(shè)置大小
$objPHPExcel->getActiveSheet()->getStyle($alpha?.?'1')->getFont()->getColor()->setARGB(\PHPExcel_Style_Color::COLOR_BLACK);?//設(shè)置顏色
$objPHPExcel->getActiveSheet()->getStyle($alpha?.?'1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);?//水平居中
$objPHPExcel->getActiveSheet()->getStyle($alpha?.?'1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);?//垂直居中
$objPHPExcel->getActiveSheet()->getStyle($alpha?.?'1')->getFont()->setBold(true);?//加粗
}
$objPHPExcel->getActiveSheet()->setTitle($sheetname);?//題目
$objPHPExcel->setActiveSheetIndex(0);?//設(shè)置當(dāng)前的sheet
header('Content-Type:?application/vnd.ms-excel');
header('Content-Disposition:?attachment;filename="'?.?$savefile?.?'.xls"');?//文件名稱(chēng)
header('Cache-Control:?max-age=0');
$objWriter?=?\PHPExcel_IOFactory::createWriter($objPHPExcel,?'Excel2007');?//Excel5?Excel2007
$objWriter->save('php://output');
$this->success("導(dǎo)出Excel成功",U('Feedback/index'));
}
總結(jié)
以上是生活随笔為你收集整理的php excel 导入配置,Thinkphp3.2.3整合PHPexcel进行导入导出操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php去掉查询返回的字段序列号,php
- 下一篇: 清理临时目录mysql,把MySQL的临