热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

总结php导出Excelphp

方法一:特点,简单,省心,只适用windows服务器以下为引用的内容:01<?php02header("Content-type:application/vnd.ms-excel");03header("Content-Disposition:attachment;filename

 

方法一:特点,简单,省心,  只适用windows服务器

以下为引用的内容:

01
02 header("Content-type:application/vnd.ms-excel");
03 header("Content-Disposition:attachment;filename=test_data.xls");
04 $tx=&#39;表头&#39;;  
05 echo  $tx."\n\n";  
06 //输出内容如下:  
07 echo  "姓名"."\t";  
08 echo  "年龄"."\t";  
09 echo  "学历"."\t";  
10 echo  "\n";  
11 echo  "张三"."\t";  
12 echo  "25"."\t";  
13 echo  "本科"."\t";  
14 ?>

方法二: 引用google code中推荐的小类库(大体同方法一,比较复杂点)

下载地址: http://code.google.com/p/php-excel/downloads/list


方法三: PHPEXCEL 类库,功能强大,操作excel很方便,尤其是可以方便的加入图片,支持jpg gif png格式,支持win Excel2003 ,Win Excel2007.

下载地址:http://www.codeplex.com/PHPExcel

下面是总结的几个使用方法

001
002 /**
003  * 以下是使用示例,对于以 //// 开头的行是不同的可选方式,请根据实际需要
004  * 打开对应行的注释。
005  * 如果使用 Excel5 ,输出的内容应该是GBK编码。
006  */
007  
008 include &#39;PHPExcel.php&#39;;
009  
010 include &#39;PHPExcel/Writer/Excel2007.php&#39;;
011  
012 //或者include &#39;PHPExcel/Writer/Excel5.php&#39;; 用于输出.xls的
013  
014 // uncomment
015 ////require_once &#39;PHPExcel/Writer/Excel5.php&#39;;    // 用于其他低版本xls
016 // or
017 ////require_once &#39;PHPExcel/Writer/Excel2007.php&#39;; // 用于 excel-2007 格式
018  
019 // 创建一个处理对象实例
020 $objExcel = new PHPExcel();
021  
022 // 创建文件格式写入对象实例, uncomment
023 ////$objWriter = new PHPExcel_Writer_Excel5($objExcel);    // 用于其他版本格式
024 // or
025 ////$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式
026 //$objWriter->setOffice2003Compatibility(true);
027  
028 //*************************************
029 //设置文档基本属性
030 $objProps = $objExcel->getProperties();
031 $objProps->setCreator("Zeal Li");
032 $objProps->setLastModifiedBy("Zeal Li");
033 $objProps->setTitle("Office XLS Test Document");
034 $objProps->setSubject("Office XLS Test Document, Demo");
035 $objProps->setDescription("Test document, generated by PHPExcel.");
036 $objProps->setKeywords("office excel PHPExcel");
037 $objProps->setCategory("Test");
038  
039 //*************************************
040 //设置当前的sheet索引,用于后续的内容操作。
041 //一般只有在使用多个sheet的时候才需要显示调用。
042 //缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0
043 $objExcel->setActiveSheetIndex(0);
044  
045  
046 $objActSheet = $objExcel->getActiveSheet();
047  
048 //设置当前活动sheet的名称
049 $objActSheet->setTitle(&#39;测试Sheet&#39;);
050  
051 //*************************************
052 //设置单元格内容
053 //
054 //由PHPExcel根据传入内容自动判断单元格内容类型
055 $objActSheet->setCellValue(&#39;A1&#39;, &#39;字符串内容&#39;);  // 字符串内容
056 $objActSheet->setCellValue(&#39;A2&#39;, 26);            // 数值
057 $objActSheet->setCellValue(&#39;A3&#39;, true);          // 布尔值
058 $objActSheet->setCellValue(&#39;A4&#39;, &#39;=SUM(A2:A2)&#39;); // 公式
059  
060 //显式指定内容类型
061 $objActSheet->setCellValueExplicit(&#39;A5&#39;, &#39;847475847857487584&#39;,
062                                    PHPExcel_Cell_DataType::TYPE_STRING);
063  
064 //合并单元格
065 $objActSheet->mergeCells(&#39;B1:C22&#39;);
066  
067 //分离单元格
068 $objActSheet->unmergeCells(&#39;B1:C22&#39;);
069  
070 //*************************************
071 //设置单元格样式
072 //
073  
074 //设置宽度
075 $objActSheet->getColumnDimension(&#39;B&#39;)->setAutoSize(true);
076 $objActSheet->getColumnDimension(&#39;A&#39;)->setWidth(30);
077  
078 $objStyleA5 = $objActSheet->getStyle(&#39;A5&#39;);
079  
080 //设置单元格内容的数字格式。
081 //
082 //如果使用了 PHPExcel_Writer_Excel5 来生成内容的话,
083 //这里需要注意,在 PHPExcel_Style_NumberFormat 类的 const 变量定义的
084 //各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode
085 //为 FORMAT_NUMBER 的时候,实际出来的效果被没有把格式设置为"0"。需要
086 //修改 PHPExcel_Writer_Excel5_Format 类源代码中的 getXf($style) 方法,
087 //在 if ($this->_BIFF_version == 0x0500) { (第363行附近)前面增加一
088 //行代码:
089 //if($ifmt === &#39;0&#39;) $ifmt = 1;
090 //
091 //设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字
092 //被使用科学记数方式显示,配合下面的 setAutoSize 方法可以让每一行的内容
093 //都按原始内容全部显示出来。
094 $objStyleA5
095     ->getNumberFormat()
096     ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
097  
098 //设置字体
099 $objFontA5 = $objStyleA5->getFont();
100 $objFontA5->setName(&#39;Courier New&#39;);
101 $objFontA5->setSize(10);
102 $objFontA5->setBold(true);
103 $objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
104 $objFontA5->getColor()->setARGB(&#39;FF999999&#39;);
105  
106 //设置对齐方式
107 $objAlignA5 = $objStyleA5->getAlignment();
108 $objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
109 $objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
110  
111 //设置边框
112 $objBorderA5 = $objStyleA5->getBorders();
113 $objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
114 $objBorderA5->getTop()->getColor()->setARGB(&#39;FFFF0000&#39;); // color
115 $objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
116 $objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
117 $objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
118  
119 //设置填充颜色
120 $objFillA5 = $objStyleA5->getFill();
121 $objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
122 $objFillA5->getStartColor()->setARGB(&#39;FFEEEEEE&#39;);
123  
124 //从指定的单元格复制样式信息.
125 $objActSheet->duplicateStyle($objStyleA5, &#39;B1:C22&#39;);
126  
127  
128 //*************************************
129 //添加图片
130 $objDrawing = new PHPExcel_Worksheet_Drawing();
131 $objDrawing->setName(&#39;ZealImg&#39;);
132 $objDrawing->setDescription(&#39;Image inserted by Zeal&#39;);
133 $objDrawing->setPath(&#39;./zeali.net.logo.gif&#39;);
134 $objDrawing->setHeight(36);
135 $objDrawing->setCoordinates(&#39;C23&#39;);
136 $objDrawing->setOffsetX(10);
137 $objDrawing->setRotation(15);
138 $objDrawing->getShadow()->setVisible(true);
139 $objDrawing->getShadow()->setDirection(36);
140 $objDrawing->setWorksheet($objActSheet);
141  
142  
143 //添加一个新的worksheet
144 $objExcel->createSheet();
145 $objExcel->getSheet(1)->setTitle(&#39;测试2&#39;);
146  
147 //保护单元格
148 $objExcel->getSheet(1)->getProtection()->setSheet(true);
149 $objExcel->getSheet(1)->protectCells(&#39;A1:C22&#39;, &#39;PHPExcel&#39;);
150  
151  
152 //*************************************
153 //输出内容
154 //
155 $outputFileName = "output.xls";
156 // 到文件
157 // $objWriter->save($outputFileName);
158  
159 // 到浏览器
160 header("Content-Type: application/force-download");
161 header("Content-Type: application/octet-stream");
162 header("Content-Type: application/download");
163 header(&#39;Content-Disposition:inline;filename="&#39;.$outputFileName.&#39;"&#39;);
164 header("Content-Transfer-Encoding: binary");
165 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
166 header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
167 header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
168 header("Pragma: no-cache");
169 $objWriter->save(&#39;php://output&#39;);
170  
171 ?>

推荐阅读
  • 本文深入解析了 Apache 配置文件 `httpd.conf` 和 `.htaccess` 的优化方法,探讨了如何通过合理配置提升服务器性能和安全性。文章详细介绍了这两个文件的关键参数及其作用,并提供了实际应用中的最佳实践,帮助读者更好地理解和运用 Apache 配置。 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • SharePoint 2010多语言用户界面的开发要点与注意事项
    SharePoint 2010 提供了强大的多语言用户界面支持,使得同一网站能够以多种语言展示。例如,对于一个中文版本的 SharePoint 2010 系统,管理员可以通过在服务器上安装英文语言包来实现多语言界面。这一功能不仅提升了用户体验,还扩展了系统的国际化能力。然而,在实施过程中需要注意一些关键点,如确保所有资源文件正确配置、进行充分的测试以及合理管理语言包的更新。这些步骤有助于确保多语言功能的稳定性和可靠性。 ... [详细]
  • 在探讨如何高效处理大规模数据报表的分页展示之前,首先需要明确导致报表加载缓慢的主要原因。通常情况下,这主要是由于两个方面:一是查询条件过于宽泛,使得数据库返回的结果集包含数百万甚至更多的记录;二是前端渲染性能不足,无法高效处理大量数据。为了优化这一过程,可以从以下几个方面入手:优化查询条件,减少不必要的数据返回;采用分页查询技术,每次仅加载所需的数据;利用缓存机制,减少对数据库的频繁访问;提升前端渲染效率,使用虚拟滚动等技术提高用户体验。 ... [详细]
  • 在Linux环境下,本文详细探讨了Apache服务器中CGI技术的应用与实现。首先,通过使用yum包管理器安装了必要的软件,如PHP。安装完成后,对Apache服务器进行了配置,确保CGI功能正常运行。此外,还介绍了如何编写和调试CGI脚本,以及如何在实际环境中部署这些脚本以提供动态网页内容。实验结果表明,通过合理的配置和优化,Apache服务器能够高效地支持CGI应用程序,为用户提供丰富的交互体验。 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • 本文详细解析了如何使用 jQuery 实现一个在浏览器地址栏运行的射击游戏。通过源代码分析,展示了关键的 JavaScript 技术和实现方法,并提供了在线演示链接供读者参考。此外,还介绍了如何在 Visual Studio Code 中进行开发和调试,为开发者提供了实用的技巧和建议。 ... [详细]
  • 微信支付授权目录配置详解及操作步骤
    在使用微信支付时,若通过WeixinJSBridge.invoke方法调用支付功能,可能会遇到“当前页面URL未注册”的错误提示,导致get_brand_wcpay_request:fail调用微信JSAPI支付失败。为解决这一问题,需要正确配置微信支付授权目录,确保支付页面的URL已成功注册。本文将详细介绍微信支付授权目录的配置步骤和注意事项,帮助开发者顺利完成支付功能的集成与调试。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 如何使用Python高效绘制矩形图形
    本文详细介绍了如何利用Python的Turtle库高效绘制矩形图形,适合初学者快速上手。通过具体示例代码,帮助读者理解Turtle库的基本绘图方法和技巧,同时探讨了在不同应用场景中绘制矩形的实际操作,为后续复杂图形的绘制打下坚实基础。 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • 在执行 Vim/VM 命令时遇到错误提示:检测到名为
    在使用 Docker 时,通过 Vim 编辑 Dockerfile 文件时遇到了错误提示:“检测到名为 .dockerfile.swp 的交换文件”。这一问题通常是因为上次编辑该文件时意外中断,导致系统生成了临时的交换文件。为了解决这个问题,可以手动删除该交换文件或使用 Vim 的恢复功能来恢复未保存的更改。 ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
author-avatar
徐徐回忆_545
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有