仓酷云

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

[学习教程] PHP教程之PHPExcel――读取excel

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:11:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
从刚开始练习的PHP基础语法练习,到PHP语言在WEB中的应用,再到实际的项目开发,如留言版,相册系统,中小型公司网站系统,以及期间做过的有关团队合作的小游戏,让我受益匪浅,学到了很多。次要功效是读取上传的excel文件,拔出或更新到数据库。  iconv("gbk","utf8",$_FILES["file"]["tmp_name"]),mysql_query("SETNAMESutf8"),编码转换避免中文在数据库中显现乱码;以下是次要的源代码:复制代码1header("Content-type:text/html;charset=utf-8");2require_once(PHPExcel/Classes/PHPExcel.php);3require_once(PHPExcel/Classes/PHPExcel/IOFactory.php);45iconv("gbk","utf8",$_FILES["file"]["tmp_name"]);//编码转换67$fileType=PHPExcel_IOFactory::identify($_FILES["file"]["tmp_name"]);//判别文件的范例8$objReader=PHPExcel_IOFactory::createReader($fileType);//创立工具9$objPHPExcel=$objReader->load($_FILES[file][tmp_name]);//导进数据1011$currentSheet=$objPHPExcel->getSheet(0);//第一个事情簿12$allRow=$currentSheet->getHighestRow();//行数13$letters_arr=array(1=>A,2=>B,3=>C,4=>D,5=>E,6=>F,7=>G,8=>H,9=>I,10=>J,11=>K,12=>L,13=>M,14=>N,15=>O,16=>P,17=>Q,18=>R,19=>S,20=>T,21=>U,22=>V,23=>W,24=>X,25=>Y,26=>Z);141516$con=mysql_connect(localhost,root,root)17ordie(数据库链接失利!<br/>.mysql_error());1819$db=mysql_select_db(db_product,$con);20mysql_query("SETNAMESutf8");21for($currentRow=3;$currentRow<=$allRow;$currentRow++){22$rowValues=;23$id=(string)($currentSheet->getCell(C.$currentRow)->getValue());2425$select_id=mysql_query("SELECT*FROMt_shopWHEREproductNum=$id");26$result=mysql_fetch_array($select_id);272829if(!$result){//判别是不是存在30foreach($letters_arras$key=>$value){31$xh=$currentSheet->getCell($value.$currentRow)->getValue();32if($key>14)break;33$rowValues=$rowValues.($key>1?,:)..$xh.;343536}3738$sql="INSERTINTOt_shop(shopName,brand,productNum,spec,barCode,category,productName,orderNumber,deliveryNumber,returnNumber,returnBackNumber,salesPrice,costPrice,profit)VALUES(".$rowValues.")";39mysql_query($sql);40}41else{4243$reValues=re_row($result,$letters_arr,$currentSheet,$currentRow);44$sql="UPDATEt_shopSETshopName=$reValues[0],brand=$reValues[1],spec=$reValues[2],barCode=$reValues[3],category=$reValues[4],productName=$reValues[5],orderNumber=$reValues[6],deliveryNumber=$reValues[7],returnNumber=$reValues[8],returnBackNumber=$reValues[9],salesPrice=$reValues[10],costPrice=$reValues[11],profit=$reValues[12]WHEREproductNum=$id";45mysql_query($sql);46echomysql_error().$id.###;47print_r($reValues);48echo<br/>;49}50515253}5455mysql_close($con);5657functionre_row($s,$a,$obj,$currentRow){58$b=$d=;59foreach($aas$key=>$value){60$xh=$obj->getCell($value.$currentRow)->getValue();61if($key>14)break;62$d[]=$xh;636465}6667foreach($das$key=>$value){68if($key!=2&&$key<7){69$b[]=(string)$value;70}71elseif($key>6){72$b[]=$s[$key]+$value;73}747576}77return$b;78}到现在,对排版还是不很熟练,经常会排不好。
若相依 该用户已被删除
沙发
发表于 2015-1-18 21:50:47 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
不帅 该用户已被删除
板凳
发表于 2015-1-25 17:55:37 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
飘灵儿 该用户已被删除
地板
发表于 2015-2-3 12:35:30 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-9 01:00:50 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
小女巫 该用户已被删除
6#
发表于 2015-2-26 16:15:37 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-8 16:12:12 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
乐观 该用户已被删除
8#
发表于 2015-3-16 04:27:02 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
若天明 该用户已被删除
9#
发表于 2015-3-22 20:11:20 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 03:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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