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

比如我需要一个做php导出 excel的的程序,只需要把相关的数据导出到excel表就可以了,这么简单的操作就不需要用那些类库什么的了。直接用header的方式就可以了:header("Content-type:application/vnd.ms-excel");

<?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;
?>

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

echo  "=\"330181199006061234\""

  

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

iconv("UTF-8", "GB2312", $yourstr);

  

如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312:

$yourStr = mb_convert_encoding(”gb2312″, “UTF-8″, $yourStr);

  

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

header("Content-Type:   application/msword");
header("Content-Disposition:   attachment;   filename=doc.doc");

 php代码:

<?php/*** exportExcel($data,$title,$filename);* 导出数据为excel表格*@param $data    一个二维数组,结构如同从数据库查出来的数组*@param $title   excel的第一行标题,一个数组,如果为空则没有标题*@param $filename 下载的文件名*@examlpe exportExcel($arr,array('id','账户','密码','昵称'),'文件名!');
*/function exportExcel($data=array(),$title=array(),$filename='report'){header("Content-type:application/octet-stream");header("Accept-Ranges:bytes");header("Content-type:application/vnd.ms-excel");  header("Content-Disposition:attachment;filename=".$filename.".xls");header("Pragma: no-cache");header("Expires: 0");//导出xls开始if (!empty($title)){foreach ($title as $k => $v){$title[$k]=iconv("UTF-8", "GB2312",$v);}$title= implode("\t", $title);echo "$title\n";}if (!empty($data)){foreach($data as $key=>$val){foreach ($val as $ck => $cv){$data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);}$data[$key]=implode("\t", $data[$key]);      }echo implode("\n",$data);}}$total = array();
$fp = fopen('card.txt', 'r');
$i = 0;
while ($v = fgets($fp, 100))
{$arr = explode(",", trim($v));$total[$i]["cid"]           = "=\"".$arr[0]."\"";$total[$i]["code"]           = "=\"".$arr[1]."\"";$total[$i]["ctime"]          = '2014-09-10 14:06:29';$total[$i]["expireday"]        = '2015-12-31 23:59:59';$i++;
}
exportExcel($total, array('卡','生成码','开始时间','有效时间'), 'card');
exit;

  

card.txt文件:
900010061112,22279892213248,2013-06-30
900010061113,52139844827982,2013-06-30
900010061114,67313895480603,2013-06-30
900010061115,66178571957378,2013-06-30
900010061116,78951625651967,2013-06-30
900010061117,73835952566949,2013-06-30
900010061118,74436659365440,2013-06-30

  

最简单的php导出excel文件方法相关推荐

  1. js中文件流下载导出excel文件方法

    需求:数据列表导出为excel文件,通过向后台请求接口,返回的结果一般有两种方式: 1. 后台返回excel文件http地址(后台会在服务器生成,前端请求url再下载一遍,浪费服务器资源,优点:前端处 ...

  2. php导出excel格式文件,PHP导入与导出Excel文件的方法

    一.PHP导出Excel文件 1,推荐phpexcel,官方网站: http://www.codeplex.com/PHPExcel 导入导出都成,可以导出office2007格式,同时兼容2003 ...

  3. C#导出Excel文件,过长数值显示为科学计数法解决方法 C#

    C#导出EXCEL文件,身份证号码或某些ID内容长度超过15个数字,这样导出的Excel文件中默认情况下将这个值以科学计数方式显示,下面提供两种解决方式: 1.在转出的内容前,加上一个TAB符号,C# ...

  4. 应用phpexcel导出excel文件后打不开的问题解决方法

    应用phpexcel导出excel文件后打不开的问题解决方法 参考文章: (1)应用phpexcel导出excel文件后打不开的问题解决方法 (2)https://www.cnblogs.com/im ...

  5. SAS导出EXCEL文件的几种方法

    SAS学习 SAS导出EXCEL文件的几种方法 以下基于SAS 9.3简体中文版 一.proc export proc export data=a.dataname outfile='D:\excel ...

  6. 笔记导出html文件,html导出excel文件?蚂蚁笔记怎么将内容导出为HTML?蚂蚁笔记导出方法...

    蚂蚁笔记是一款时下非常热门的笔记记录软件.在我们日常生活中,当我们碰到一些日程安排.优美诗句等内容时,完全可以使用这款软件将内容记录下来,而且我们可以把记录下来的内容导出为HTML格式让我们查看更加方 ...

  7. 懒人小工具1:winform自动生成Model,Insert,Select,Delete以及导出Excel的方法

       懒人小工具2:T4自动生成Model,Insert,Select,Delete以及导出Excel的方法    github地址:https://github.com/Jimmey-Jiang/J ...

  8. Java poi插件导出Excel文件合并多sheet页

    文章目录 一.java导出excel格式文件 二.excel文件多sheet页合并 前言:2020年第一篇文章,就写这两天工作中遇到的这个小需求吧,导出多excel,每个excel有多个sheet页, ...

  9. java导入、导出Excel文件

    一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...

最新文章

  1. Leetcode:Search Insert Position
  2. 利用jQuery和CSS实现环形进度条
  3. iperf3与netperf使用
  4. NPOI Excel 导出学习 一 (基础导出)
  5. 一个仿沙漏效果的自定义view(贝瑟尔曲线实现)
  6. .Net Core应用框架Util介绍(一)
  7. 剑指offer之二叉树的高度
  8. 什么是runtime?
  9. oracle脏块,检查点队列上的最早脏的数据块再次被修改以何种顺序刷到磁盘
  10. C++ 一周刷完C++基础课程(同C程序进行比较)
  11. 展示魅力东莞,传递亚运激情
  12. 国内跨省游正式开放!旅行社要怎么抓住这个机会?
  13. 学海无涯!最全Android面试知识点梳理,系列篇
  14. c语言程序拍照,拍照并获取照片
  15. 保持一张干净的脸部!
  16. 什么是商家转账到零钱
  17. 央企总动员:从上电股份,细数风流人物!
  18. iOS的 gRPC 之路
  19. 产品分析报告:「腾讯相册管家」,你的回忆,由我珍藏
  20. js判断 pc 手机 浏览器

热门文章

  1. 尴尬!Google搜索现在也会“千人千面”了,退出登录也一样
  2. 这个机器人不学数据集,“纯玩”get各类家务技能,LeCun觉得很赞
  3. 理财经理们都想用AI,但客户们不想用 | 福布斯报告
  4. 清华自主招生复试,南大综合评价录取,全都考了人工智能
  5. 2018年,AI会在金融行业哪些方向上发力?
  6. 美团正押注无人车?没错,这是外卖大战的第三阶段
  7. Mock Serverj
  8. 老男孩第31期杨海学习Linux决心书
  9. android自定义弹出框样式实现
  10. varnish与squid的比较