版权声明:本文为博主原创文章,未经博主允许不得转载。 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);