php使用header()导出Excel(转)
本文转自http://blog.it985.com/10322.html , 更多详细内容请参看原文
将数据库中的数据导出为Excel,可以使用功能强大的PHPExcel类库,此类库基本可以实现所有的功能,博客里已经有几篇文章介绍了;
而这里,我尝试使用header()导出数据,非常简单:
首先数据表中的数据:
导出excel:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<?php$SERVER = 'localhost';$MYSQL_NAME = 'root';$MYSQL_PASSWORD = 'root';$conn = mysqli_connect($SERVER, $MYSQL_NAME, $MYSQL_PASSWORD) or die('mysql connect error');mysqli_select_db($conn, 'test') or die('DB error');mysqli_query($conn, 'SET NAMES UTF8');header("Content-type:application/vnd.ms-excel"); //设置内容类型header("Content-Disposition:attachment;filename=data.xls"); //文件下载$sql = "SELECT * FROM user";$arr = array('id', 'name', 'gender', 'add_datetime');$result = mysqli_query($conn, $sql);foreach ($arr as $tval) {echo $tval . "\t";}echo "\n";foreach ($result as $key=>$val) {foreach ($val as $ckey=>$cval) {echo $cval . "\t";}echo "\n";?> |
这是导出的excel中的数据:
非常简单,只是excel中列的宽度不能做到完美的自定义,需要手动在excel中修改列的宽度;
虽然在变量$cval的外层可以套一层<td>标签,然后通过来定义<td>的width来修改列的宽度,但是这样的话,在打印出的excel中也还不是不能显示所有的边框线;个人感觉使用header()导出excel还不是非常完美。



浙公网安备 33010602011771号