仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1230|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之总结 php导出Excel php

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-3 23:29:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
然后大吼:别人可以,我为什么就不可以?(是不是有点阎罗教练的味道,默默的确是电影看多了,抽嘴巴是会痛的,各位其实明白这个道理了就行了)     
  办法一:特色,复杂,省心,  只合用windows办事器
  以下为援用的内容:
01 <?php 02 header("Content-type:application/vnd.ms-excel"); 03 header("Content-Disposition:attachment;filename=test_data.xls"); 04 $tx='表头';   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 ?>  办法二: 援用谷歌 code中保举的小类库(大体同办法一,对照庞杂点)
  下载地址: http://code.谷歌.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 'PHPExcel.php'; 009   010 include 'PHPExcel/Writer/Excel2007.php'; 011   012 //或include 'PHPExcel/Writer/Excel5.php'; 用于输入.xls的 013   014 // uncomment 015 ////require_once 'PHPExcel/Writer/Excel5.php';    // 用于其他低版本xls 016 // or 017 ////require_once 'PHPExcel/Writer/Excel2007.php'; // 用于 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('测试Sheet'); 050   051 //************************************* 052 //设置单位格内容 053 // 054 //由PHPExcel依据传入内容主动判别单位格内容类型 055 $objActSheet->setCellValue('A1', '字符串内容');  // 字符串内容 056 $objActSheet->setCellValue('A2', 26);            // 数值 057 $objActSheet->setCellValue('A3', true);          // 布尔值 058 $objActSheet->setCellValue('A4', '=SUM(A2:A2)'); // 公式 059   060 //显式指定内容类型 061 $objActSheet->setCellValueExplicit('A5', '847475847857487584', 062                                    PHPExcel_Cell_DataType::TYPE_STRING); 063   064 //兼并单位格 065 $objActSheet->mergeCells('B1:C22'); 066   067 //分别单位格 068 $objActSheet->unmergeCells('B1:C22'); 069   070 //************************************* 071 //设置单位格款式 072 // 073   074 //设置宽度 075 $objActSheet->getColumnDimension('B')->setAutoSize(true); 076 $objActSheet->getColumnDimension('A')->setWidth(30); 077   078 $objStyleA5 = $objActSheet->getStyle('A5'); 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 === '0') $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('Courier New'); 101 $objFontA5->setSize(10); 102 $objFontA5->setBold(true); 103 $objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); 104 $objFontA5->getColor()->setARGB('FF999999'); 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('FFFF0000'); // 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('FFEEEEEE'); 123   124 //从指定的单位格复制款式信息. 125 $objActSheet->duplicateStyle($objStyleA5, 'B1:C22'); 126   127   128 //************************************* 129 //添加图片 130 $objDrawing = new PHPExcel_Worksheet_Drawing(); 131 $objDrawing->setName('ZealImg'); 132 $objDrawing->setDescription('Image inserted by Zeal'); 133 $objDrawing->setPath('./zeali.net.logo.gif'); 134 $objDrawing->setHeight(36); 135 $objDrawing->setCoordinates('C23'); 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('测试2'); 146   147 //回护单位格 148 $objExcel->getSheet(1)->getProtection()->setSheet(true); 149 $objExcel->getSheet(1)->protectCells('A1:C22', 'PHPExcel'); 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('Content-Disposition:inline;filename="'.$outputFileName.'"'); 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('php://output'); 170   171 ?> 多个成员之间重复做相同的工作,很容易因为交流沟通的时候没有进行一致性的文档要求而出现不明错误,严重影响开发进度,导致在预定时间内无法完成该项目或者完成的项目跟原先计划所要实现的项目功能不符合。
只想知道 该用户已被删除
19#
发表于 2015-4-27 19:30:50 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
山那边是海 该用户已被删除
18#
发表于 2015-4-24 04:44:41 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
愤怒的大鸟 该用户已被删除
17#
发表于 2015-4-24 03:44:34 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
爱飞 该用户已被删除
16#
发表于 2015-4-19 10:12:37 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
若天明 该用户已被删除
15#
发表于 2015-4-12 23:30:47 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
老尸 该用户已被删除
14#
发表于 2015-4-11 03:11:31 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
分手快乐 该用户已被删除
13#
发表于 2015-4-6 18:58:22 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
若相依 该用户已被删除
12#
发表于 2015-4-6 09:21:27 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
深爱那片海 该用户已被删除
11#
发表于 2015-4-4 23:17:11 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
变相怪杰 该用户已被删除
10#
发表于 2015-4-1 12:11:22 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
再见西城 该用户已被删除
9#
 楼主| 发表于 2015-3-26 18:30:10 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
飘灵儿 该用户已被删除
8#
发表于 2015-3-22 00:11:25 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
乐观 该用户已被删除
7#
发表于 2015-3-17 23:07:54 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
透明 该用户已被删除
6#
发表于 2015-3-11 07:10:41 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
再现理想 该用户已被删除
5#
发表于 2015-3-2 22:35:55 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
精灵巫婆 该用户已被删除
地板
发表于 2015-2-28 17:52:40 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
小妖女 该用户已被删除
板凳
发表于 2015-2-10 03:20:53 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
谁可相欹 该用户已被删除
沙发
发表于 2015-2-6 00:24:54 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
因胸联盟 该用户已被删除
楼主
发表于 2015-2-3 23:44:14 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 20:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表