PHP输出Excel两种方法

简介: 2016年3月23日 16:43:51 星期三 第一种: 输出html+css格式, 打开后用Excel软件的"另存为"功能保存为正规的表格格式 1 public function echoExcel($list) 2 { 3 $body = ''; 4 $tr...

2016年3月23日 16:43:51 星期三

第一种: 输出html+css格式, 打开后用Excel软件的"另存为"功能保存为正规的表格格式

 1 public function echoExcel($list)
 2 {
 3     $body = '';
 4     $tr = '<tr style="border-right: 1px solid lightgrey;border-bottom: 1px solid lightgrey;">';
 5     $tds = '<td>';
 6     $tde = '</td>';
 7 
 8     $title = $tr.'<td>aaa</td>
 9         <td>bbb</td>
10         </tr>';
11     $userModel = new UserModel();
12     foreach ($list as $v) {
13         $aaa   = $tds.$v['aaa'].$tde;
14         $bbb   = $tds.$v['bbb'].$tde;
15         $body .= $tr.$aaa.$bbb.'</tr>';
16     }
17 
18     header('Content-Type: application/vnd.ms-excel');
19     header('Content-Disposition: attachment;filename="'.date('Y_m_d_H_i_s').'.xls"');
20     
21 $table = '<table style="border: 1px solid lightgrey; border-collapse: collapse;">'; 22 echo $table.$title.$body.'</table>'; 23 exit; 24 }

 注意: mac打不开, mac与windows打开excel的软件不同

windows打开后可以另存为正规格式的excel

 

第二种: 不用css, 只用逗号, 以csv的方式输出

 1 function export()
 2 {
 3     $list = [
 4         ['1111', '2222'],
 5         ['1111', '2222'],
 6     ];
 7     $content = 'aaa,bbb'.PHP_EOL;//csv标题
 8     foreach ($list as $line) {
 9         $content .= implode(',', $line).PHP_EOL;
10     }
11 
12     //下载文件需要用到的头
13     header('Content-type: application/octet-stream');
14     header('Accept-Ranges: bytes');
15     header('Accept-Length:' . strlen($content));
16     header('Content-Disposition: attachment; filename='.date('YmdHis').'.csv');
17     echo "\xEF\xBB\xBF"; //utf-8 bom
18     echo $content;
19 }

注意, 使用的时候, 在新窗口打开, 不要用ajax请求:

<a href="/export" target="_blank">

 

目录
相关文章
|
23天前
|
缓存 PHP 开发者
PHP中的自动加载机制及其优化方法
传统的PHP开发中,经常会遇到类文件加载繁琐、效率低下的情况,而PHP的自动加载机制能够很好地解决这一问题。本文将深入探讨PHP中的自动加载机制,介绍其原理及实现方式,并提出了一些优化方法,帮助开发者提升代码加载效率,提高应用性能。
|
1月前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
1月前
|
存储 数据处理 索引
Python操作Excel常用方法汇总
Python操作Excel常用方法汇总
34 0
|
1月前
|
存储 数据可视化 数据处理
Python中读取Excel文件的方法
【2月更文挑战第18天】
66 4
Python中读取Excel文件的方法
|
3月前
|
存储 关系型数据库 MySQL
PHP 如何使用 Excel 处理数据
【1月更文挑战第1天】PHP 如何使用 Excel 处理数据
44 1
|
4月前
|
JSON PHP 数据格式
PHP curl方法封装
PHP curl方法封装
31 0
|
3天前
|
存储 SQL 缓存
记录如何用php做一个网站访问计数器的方法
创建简单网站访问计数器,可通过存储访问次数的文件或数据库。首先,创建`counter.txt`存储计数,然后在`counter.php`中编写PHP代码以读取、增加并显示计数,使用`flock`锁定文件避免并发问题。网页通过包含`counter.php`展示计数。对于高流量网站,推荐使用数据库确保原子性和并发处理能力,或利用缓存提升性能。注意,实际生产环境可能需更复杂技术防止作弊。
|
1月前
|
数据处理 Python
4种方法用Python批量实现多Excel多Sheet合并
4种方法用Python批量实现多Excel多Sheet合并
38 0
excel双纵坐标轴展示的方法
excel双纵坐标轴展示的方法