PHP保存table导出excel表格

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/github_38854224/article/details/81216436

php形成excel表格(在页面上显示table之后导出)

<table id="tablelist" border=1 style='text-align:center' >
<button type="button" name="button" id="export">导出</button>
	<form action="./outexcel.php" method="post"  id="excelfromtable" style="" target="_blank">
        <input name="excelContent" id="excelContent" type="hidden" value="" autocomplete="off"/>
    </form>
    <script type="text/javascript">
        $(function(){
            $('#export').click(function(){
                var excelContent = $('#tablelist').html(); //获取表格内容
                $('input[name=excelContent]').val(excelContent);//赋值给表单
                $('#excelfromtable').submit();//表单提交,提交到php
            })
        })
    </script>

outexcel.php

<?php
echo '<meta http-equiv="Content-type" content="text/html; charset=utf-8 " />'; //设置内容,编码
header('Content-type:application/vnd.ms-excel');//设置请求头类型
header('Content-Disposition:filename=wx_Mini_Program.xls');//设置导出格式 可以改 PreSortiong.xls 后缀成相应的格式
$content = $_POST['excelContent'];//获取表格内容 
echo '<table cellpadding="1" cellspacing="1" id="" border="1" >'; 
echo $content ; 
echo '</table>' 
?>

php形成excel表格(直接导出,不需要显示)参考网友的

function createtable($list,$filename){  
    header("Content-type:application/vnd.ms-excel");  
    header("Content-Disposition:filename=".$filename.".xls");  
  
    $strexport="编号\t姓名\t性别\t年龄\r";  
    foreach ($list as $row){  
	
        $strexport.=$row['id']."\t";   
        $strexport.=$row['username']."\t";  
        $strexport.=$row['sex']."\t";  
        $strexport.=$row['age']."\r";  
		
    }  
    $strexport=iconv('UTF-8',"GB2312//IGNORE",$strexport);  
    exit($strexport);     
}

封装方法


/**
 * 创建(导出)Excel数据表格
 * @param  array   $list 要导出的数组格式的数据
 * @param  string  $filename 导出的Excel表格数据表的文件名
 * @param  array   $header Excel表格的表头
 * @param  array   $index $list数组中与Excel表格表头$header中每个项目对应的字段的名字(key值)
 * 比如: $header = array('编号','姓名','性别','年龄');
 *       $index = array('id','username','sex','age');
 *       $list = array(array('id'=>1,'username'=>'YQJ','sex'=>'男','age'=>24));
 * @return [array] [数组]
 */
protected function createtable($list,$filename,$header=array(),$index = array()){  
	header("Content-type:application/vnd.ms-excel");  
	header("Content-Disposition:filename=".$filename.".xls");  
	$teble_header = implode("\t",$header);
	$strexport = $teble_header."\r";
	foreach ($list as $row){  
		foreach($index as $val){
			$strexport.=$row[$val]."\t";   
		}
		$strexport.="\r"; 
 
	}  
	$strexport=iconv('UTF-8',"GB2312//IGNORE",$strexport);  
	exit($strexport);     
}

调用

$filename = '提现记录'.date('YmdHis');
$header = array('会员','编号','联系电话','开户名','开户行','申请金额','手续费','实际金额','申请时间');
$index = array('username','vipnum','mobile','checkname','bank','money','handling_charge','real_money','applytime');
$this->createtable($cash,$filename,$header,$index);

猜你喜欢

转载自blog.csdn.net/github_38854224/article/details/81216436