龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

最简单的php导出excel文件方法

时间:2014-07-22 14:50来源: 作者: 点击:
分享到:
h2 p span style=font-size:12px;font-family:Microsoft YaHei;网上有很多php操作excel或其他文件的类库,也做的很完善。比如无比风骚的PHPExcel,官方网站:/spana href=http://www.codeplex.com/PHPExcel target=_blank

网上有很多php操作excel或其他文件的类库,也做的很完善。比如无比风骚的PHPExcel,官方网站: http://www.codeplex.com/PHPExcel ,pear的Spreadsheet_Excel_Writer类等。然而我们只是用到其中一部分功能,这就会让程序显的有些臃肿。在你调用这些类库的时候,不管你是多简单的操作,他都会消耗巨大的内存,这对我们来说是很不可取的。

    比如我需要一个做php导出 excel的的程序,只需要把相关的数据导出到excel表就可以了,这么简单的操作就不需要用那些类库什么的了。直接用header的方式就可以了。

在导出后会发现一个问题,如果数据是数字会出现一些意想不到的情况。比如,"012345",在excel中会变成"12345";如果输入身份证号码这样的长数字,在excel中会用科学计数法表示出来,并且最后的四位数字会出现偏差,变位0000等情况。这就需要把单元格设置为文本格式

如果程序是utf-8编码的,还需要用iconv函数去转码,不然是会乱码的,乱码的。

另word格式导入类似,指定header就可以了

header("Conten t-Type:   application/msword");       
header("Content-Disposition:   attachment;   filename=doc.doc");
本文地址:http://iulog.com/post-23.html


<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=Export_test.xls");
$tab="\t"; $br="\n";
$head="编号".$tab."备注".$br;
//输出内容如下: 
echo $head.$br;
echo  "test321318312".$tab; 
echo  "string1";
echo  $br;
 
echo  "330181199006061234".$tab;  //直接输出会被Excel识别为数字类型
echo  "number";
echo  $br;
 
echo  "=\"330181199006061234\"".$tab;  //原样输出需要处理
echo  "string2";
echo  $br;
?>
精彩图集

赞助商链接