注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

红尘若梦

生活的色彩

 
 
 

日志

 
 

PHP通过XML导出Excel  

2015-08-14 15:48:21|  分类: 技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
众所周知,新的EXCEL格式已经采用了XML格式,而原来利用phpexcel导出Excel的办法,在碰到超过一万条记录后,占用内存太多,容易造成服务器超载。而且如果只是用到导出功能,phpexcel功能太多太复杂,有很多根本用不到的功能。所以知名的Yii Framework提供了一个简单Excel导出类。首先下载该类文件:下载点1 下载点2 官方
使用该类导出Excel文件也非常简单,只要使用几行代码即可。

require_once 'php_excel.class.php'; //调用类文件
$data = array(
1 => array ('站点', '地址'),
array('我就上乐乐吧', 'http://593668.com'),
array('爱上吃喝', 'http://237h.com')
);
$xls = new Excel_XML('UTF-8', false, '593668sheet'); //请注意,sheet名尽量不要用中文
$xls->addArray($data); //根据数组生成Excel
$xls->generateXML('593688file'); //生成文件

是不是很简单,当然如果需要生成多个sheet,也很容易。

require_once 'php_excel.class.php'; //调用类文件
$data1 = array(
1 => array ('站点', '地址'),
array('我就上乐乐吧', 'http://593668.com'),
array('爱上吃喝', 'http://237h.com')
);
$data2 = array(
1 => array ('站点', '地址'),
array('红尘过客', 'http://1976xyg.blog.163.com'),
array('我就上乐乐吧', 'http://593668.com')
);
$xls = new Excel_XML('UTF-8', false, '593668sheet1/593668sheet2'); //所要生成的工作表,用斜线隔开
$xls->addArray($data1,$data2); //加载对应表数据,用英文逗号隔开
$xls->generateXML('593688file'); //生成文件

这个新的导出类,导出大量数据是没有问题了,但是它自身也还是有些问题,比如:
该类功能太简单,表格合并,设置宽高等最基本的功能都不支持,并且编写格式复杂的话,根本就不调用。此外,基于Microsoft's OpenXML 导出的XML格式Excel文件,比如打开会有弹出框提示如下。
PHP通过XML导出Excel - 1976xyg - 红尘若梦
 
该类虽说有很多不足,但是因为源代码开放的关系,可以自行扩展,这里就是一个成功的例子,可以脑洞大开自行改造。http://www.yiiframework.com/forum/index.php?/topic/22365-extension-phpexcelxml
  评论这张
 
阅读(82)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017