原作者:冰山上的播客 看到这篇文章的时候,很是惊讶原作者的耐心,虽然我们在平时用的也有一些,但没有作者列出来的全,写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了。呵呵。(COM方式不讲了,这种可读的太多了,我也写过利用wps等进行word等的生成之类的文章 ) 但是在读的时候,只用过一种,具体是什么忘了,要回去翻代码了。因为采用的是拿来主义,记不住。 原文地址:http://xinsync.xju.edu.cn/index.php/archives/3858 原文内容:
最近因项目需要,需要开发一个模块,把系统中的一些数据导出成Excel,修改后再导回系统。就趁机对这个研究了一番,下面进行一些总结。 基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已。修改这种文件后再保存,通常会提示你是否要转换成Excel文件。 优点:简单。 缺点:难以生成格式,如果用来导入需要自己分别编写相应的程序。 2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。
如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312: $yourStr = mb_convert_encoding(”gb2312″, “UTF-8″, $yourStr);
下面详细列举几种方法。 一、PHP导出Excel
1:第一推荐无比风骚的PHPExcel,官方网站: http://www.codeplex.com/PHPExcel 导入导出都成,可以导出office2007格式,同时兼容2003。 下载下来的包中有文档和例子,大家可以自行研究。 抄段例子出来:
PHP代码 <?php /** * PHPExcel * * Copyright (C) 2006 - 2007 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel * @package PHPExcel * @copyright Copyright (c) 2006 - 2007 PHPExcel ( http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/lgpl.txt LGPL * @version 1.5.0, 2007-10-23 */ /** Error reporting */ error_reporting(E_ALL); /** Include path **/ set_include_path(get_include_path() . PATH_SEPARATOR . ‘../Classes/’); /** PHPExcel */ include ‘PHPExcel.php’; /** PHPExcel_Writer_Excel2007 */ include ‘PHPExcel/Writer/Excel2007.php’; &nb
|