php导出excel表格的使用
网站后台有很多列表数据,常常都会有导出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表格的使用的更多相关文章
- PHP导入导出excel表格图片(转)
写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...
- java中使用jxl导出Excel表格详细通用步骤
该方法一般接收两个参数,response和要导出的表格内容的list. 一般我们将数据库的数据查询出来在页面进行展示,根据用户需求,可能需要对页面数据进行导出. 此时只要将展示之前查询所得的数据放入s ...
- .NET环境下导出Excel表格的两种方式和导入两种类型的Excel表格
一.导出Excel表格的两种方式,其中两种方式指的是导出XML数据类型的Excel(即保存的时候可以只需要修改扩展名为.xls)和真正的Excel这两种. using System; using Sy ...
- java导出excel表格
java导出excel表格: 1.导入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifac ...
- 使用NPOI将数据库里信息导出Excel表格并提示用户下载
使用NPOI进行导出Excel表格大家基本都会,我在网上却很少找到导出Excel表格并提示下载的 简单的代码如下 //mvc项目可以传多个id以逗号相隔的字符串 public ActionResult ...
- VB.NET版机房收费系统---导出Excel表格
datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...
- C#导出Excel表格方法
using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI.SS.Formula.Functions; using System.Re ...
- Java代码导入导出 Excel 表格最简单的方法
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...
- js导出Excel表格
js导出Excel表格 直接上代码: 红色部分:如果表格数据中有“1/1”这样的值,会在导出的Excel中转化为日期“1月1日”,所以才加上了红色那两句.如果返回值中没有这样的格式,红色部分可以不写. ...
- Spring Boot 导出Excel表格
Spring Boot 导出Excel表格 添加支持 <!--添加导入/出表格依赖--> <dependency> <groupId>org.apache.poi& ...
随机推荐
- Java 内部类综述
转载自:https://blog.csdn.net/justloveyou_/article/details/53245561
- 【题解】POJ 3417 Network(倍增求LCA+DP+树上差分)
POJ3417:http://poj.org/problem?id=3417 思路 我们注意到由“主要边”构成一颗树 “附加边”则是非树边 把一条附加边(x,y)加入树中 会与树上x,y之间构成一个环 ...
- hdu 1026 Ignatius and the Princess I(BFS+优先队列)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1026 Ignatius and the Princess I Time Limit: 2000/100 ...
- Segmentation fault(Core Dump)
Segmentation fault 这个提示还是比较常见的,这个提示就是段错误,这是翻译还是十分恰当的. Core Dump 有的时候给我们呈现的翻译很有趣是”吐核“,但是实际上比较贴切的翻译是核心 ...
- java 编写小工具 尝试 学习(一)
1.单片机 调试经常 需要 用 串口 工具 发送 一些 特定的 协议或者 命令,每次要 翻译 写成 2进制 很麻烦 ,因此 打算自己用 java 写一个 工具 方便自己 调试,2017年3月2 ...
- 用Java编写银行存钱取钱
const readline = require('readline-sync')//引用readline-sync let s = 2;//错误的次数 for (let i = 0; i < ...
- Plugin 'InnoDB' registration as a STORAGE ENGINE failed
今天在安装mysql时遇到了mysql服务打不开的的情况,通过在cmd中输入MySQL --console,显示错误信息,得到如下情况. 原因是InnoDB初始化异常,也就是是说,卸载mysql的时候 ...
- CentOS中的 yum upgrade 和 yum update 的区别
通过 man yum 的帮助信息了解 yum update 和 yum upgrade: update If run without any packages, update will update ...
- 【转载】jquery实现勾选复选框触发事件给input赋值+回显复选框
引用:https://blog.csdn.net/rui276933335/article/details/45717461 JSP: <td class="as1"> ...
- thinkphp5 toArray()报错
//DB操作返回是数组.模型直接操作返回是对象 //对象类型转换数组 //打开 database.php 增加或修改参数 'resultset_type' => '\think\Collecti ...