网站后台有很多列表数据,常常都会有导出excel表格的需求,和大家分享一个实用的导出excel表格方法;

不多说,上代码;

  /**
* @param array $data 要导出的数据
* @param array $title excel表格的表头
* @param string $filename 文件名
*/
public function daochu_excel($data=array(),$title=array(),$filename='报表'){//导出excel表格
//处理中文文件名
ob_end_clean();
Header('content-Type:application/vnd.ms-excel;charset=utf-8'); header("Content-Disposition:attachment;filename=export_data.xls");
//处理中文文件名
$ua = $_SERVER["HTTP_USER_AGENT"]; $encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
if (preg_match("/MSIE/", $ua) || preg_match("/LCTE/", $ua) || $ua == 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko') {
header('Content-Disposition: attachment; filename="' . $encoded_filename . '.xls"');
}else {
header('Content-Disposition: attachment; filename="' . $filename . '.xls"');
}
header ( "Content-type:application/vnd.ms-excel" ); $html = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<meta http-equiv='Content-type' content='text/html;charset=UTF-8' />
<head> <title>".$filename."</title>
<style>
td{
text-align:center;
font-size:12px;
font-family:Arial, Helvetica, sans-serif;
border:#1C7A80 1px solid;
color:#152122;
width:auto;
}
table,tr{
border-style:none;
}
.title{
background:#7DDCF0;
color:#FFFFFF;
font-weight:bold;
}
</style>
</head>
<body>
<table width='100%' border='1'>
<tr>";
foreach($title as $k=>$v){
$html .= " <td class='title' style='text-align:center;'>".$v."</td>";
} $html .= "</tr>"; foreach ($data as $key => $value) {
$html .= "<tr>";
foreach($value as $aa){
$html .= "<td>".$aa."</td>";
} $html .= "</tr>"; }
$html .= "</table></body></html>";
echo $html;
exit;
} $title参数的数据是一个一维数组,如下:

$data参数是一个二维数组,如下:

调用方法:

 $daochuData = DB::table('scholarship_to_weixin as s')->leftJoin('users as u','s.uid','=','u.id')
->leftJoin('admin as a','a.id','=','s.tx_checkid')
->orderBy('s.times','desc')
->select('s.*','u.nickname','u.tel','u.id as u_id','a.name as a_name','u.admin_beizhu_name')
->get(); $title = array('序号','申请时间','申请人','备注名称','申请人手机号','提现金额','操作时间','操作人'); $arr = [];
foreach($daochuData as $k=>$v){
$arr[] = array(
$k+1,
$v->times,
$v->nickname,
$v->admin_beizhu_name,
$v->tel,
$v->money,
$v->s_times,
$v->a_name
);
} $this->daochu_excel($arr,$title,'红包提现到微信记录');

结果:

希望对您有帮助。谢谢!

php导出excel表格的使用的更多相关文章

  1. PHP导入导出excel表格图片(转)

    写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...

  2. java中使用jxl导出Excel表格详细通用步骤

    该方法一般接收两个参数,response和要导出的表格内容的list. 一般我们将数据库的数据查询出来在页面进行展示,根据用户需求,可能需要对页面数据进行导出. 此时只要将展示之前查询所得的数据放入s ...

  3. .NET环境下导出Excel表格的两种方式和导入两种类型的Excel表格

    一.导出Excel表格的两种方式,其中两种方式指的是导出XML数据类型的Excel(即保存的时候可以只需要修改扩展名为.xls)和真正的Excel这两种. using System; using Sy ...

  4. java导出excel表格

    java导出excel表格: 1.导入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifac ...

  5. 使用NPOI将数据库里信息导出Excel表格并提示用户下载

    使用NPOI进行导出Excel表格大家基本都会,我在网上却很少找到导出Excel表格并提示下载的 简单的代码如下 //mvc项目可以传多个id以逗号相隔的字符串 public ActionResult ...

  6. VB.NET版机房收费系统---导出Excel表格

    datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...

  7. C#导出Excel表格方法

    using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI.SS.Formula.Functions; using System.Re ...

  8. Java代码导入导出 Excel 表格最简单的方法

    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...

  9. js导出Excel表格

    js导出Excel表格 直接上代码: 红色部分:如果表格数据中有“1/1”这样的值,会在导出的Excel中转化为日期“1月1日”,所以才加上了红色那两句.如果返回值中没有这样的格式,红色部分可以不写. ...

  10. Spring Boot 导出Excel表格

    Spring Boot 导出Excel表格 添加支持 <!--添加导入/出表格依赖--> <dependency> <groupId>org.apache.poi& ...

随机推荐

  1. C#处理List<object>重复数据的问题

    private class ListDistinct : IEqualityComparer<object> { public bool Equals(object x, object y ...

  2. Subnet Routing Examples

    Routing Table Each row in routing table contains: Destination IP address IP address of next-hop rout ...

  3. I/O复用——各种不同的IO模型

    一.概述 我们看到上面的TCP客户同时处理两个输入:标准输入和TCP套接字.我们遇到的问题就是在客户阻塞于(标准输入上的)fgets调用期间,服务器进程会被杀死.服务器TCP虽然正确地给客户TCP发送 ...

  4. 大数据框架-Zookeeper

    Hadoop的分布式协同服务,让分布式系统碰到失败时候,能够正确处理此类问题.基础功能:master选举,数据同步.Zooleeper集群有Client和Server(leader和follower) ...

  5. webpack报错Cannot read property 'presetToOptions' of undefined

    在学习react全家桶时,webpack首先报错,报错内容如下,最后我是因为没有全局安装webpack导致的报错,使用npm install webpack -g安装解决了这个问题.

  6. 画布与SVG区别

  7. 基于MySQL INNODB的优化技巧

    背景 ​ 回顾人们在开始工作之前,都会问自己这样一个问题:给你一台16G内存的Innodb专用数据库服务器,如何配置才能让其稳定.高效地给典型的Web应用提供服务? 硬件 内存:内存对于Innodb数 ...

  8. shutil.rmtree()

    shutil.rmtree(path, ignore_errors=False, onerror=None)   #递归地删除文件 def rmtree(path, ignore_errors=Fal ...

  9. linux 学习第八天

    一.特殊权限 1.SUID 让命令的执行者临时获取到了所有者权限(rws) 2.SGID 让目录中新的文件的所有组,归属上级目录 3.SBIT 粘滞位 让目录内的文件只能被文件所有者删除 4.修改文件 ...

  10. java 整型数据转换为小数类型 BigDecimal 装换为Double

    A,B为String类型 ,A-B=C BigDecimal A=(BigDecimal) map.get("A"); BigDecimal B=(BigDecimal) map. ...