织梦自定义表单导出到excel实例代码:
excel文件:
<?php
require_once(dirname(__FILE__).'/config.php');
require_once(DEDEINC.'/datalistcp.class.php');
require_once(DEDEINC.'/common.func.php');
require_once(DEDEINC.'/typelink.class.php');
require_once(DEDEINC.'/datalistcp.class.php');
require_once(DEDEADMIN.'/inc/inc_list_functions.php');
include_once (DEDEINC . '/Classes/PHPExcel.php');
织梦查询语句方法
// $query = "Select * From `data_baoming` ";
// $dsql->SetQuery($query);
// $re=$dsql->Execute();
// $row=$dsql->GetObject();
// while($row=$dsql->GetObject())
// {
// $arr[]= $row;
// }
// var_dump($arr);
// exit;
class Excel
{
private $head;
private $body;
//输出列名数组,并转码
public function addHeader($arr){
foreach($arr as $headVal){
$headVal = $this->charset($headVal);
$this->head .= "{$headVal}\t ";
}
$this->head .= "\n";
}
//输出导出内容数组 lol9.cn 六 久阁织梦模板网
public function addBody($arr){
foreach($arr as $arrBody){
foreach($arrBody as $bodyVal){
//$bodyVal = $this->charset($bodyVal); (这个将信息内容转码的这句是不需要的,这个导出excel的代码也是我百度的,但是测试的时候,导出的内容总是有部分的汉字是??的格式,找问题测试了半天发现其实这个内容是不需要转码的,直接导出就不会出现乱码的格式了;据大神给我说的是看编码,有的是需要转码的有的是不需要转码的)
$this->body .= "{$bodyVal}\t ";
}
$this->body .= "\n";
}
}
//设置header头部信息和导出到excel内容,并输出到浏览器
public function downLoad($filename=''){
if(!$filename)
$filename = date('YmdHis',time()).'.xls';
ob_end_clean();
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=$filename");
header("Content-Type:charset=gb2312");
if($this->head)
echo $this->head;
echo $this->body;
}
//转码,这里不用iconv函数,有可能会与gd冲突导致输出空白。用
public function charset($string){
return mb_convert_encoding($string,'GBK','auto');
}
}
表格输出
$excel = new Excel();
$excel->addHeader(array('id','姓名','联系电话','提交时间','处理时间','短信回复','奖品/收件地址','状态','责任人','咨询备注','来源',
));
global $dsql;
$query = "Select * From `data_baoming` ";
$dsql->SetQuery($query);
$re=$dsql->Execute();
$row=$dsql->GetObject();
while($row=$dsql->GetObject())
{
foreach($row as $key=>$val){
if($key=='jointime' || $key=='logintime'){
$row[$key]=date("Y-m-d H:i:s",$val);
}
}
$list[]=$row;
$arr[]= $row;
}
unset($row);
$excel->addBody($list);
$excel->downLoad();
?>html写法:
<a href="excel_bm.php" class="layui-btn">excel</a>
织梦二次开发QQ群
本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617)
如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!
转载请注明: 织梦模板 » 织梦自定义表单导出到excel实例





































