php怎么读取excel?php中使用PHPExcel读写excel(xls)文件的方法
本文实例讲述了PHP中使用PHPExcel读写excel(xls)文件的方法,非常实用。分享给大家供大家参考之用。具体方法如下:
很多PHP类库在读取中文的xls、csv文件时会有问题,网上找了下资料,发现PHPExcel类库好用,官网地址为:http://phpexcel.codeplex.com/。现将PHPExcel读写Excel的方法分别叙述如下:
1、读取xls文件内容
代码如下 | 复制代码 |
<?php //向xls文件写入内容 error_reporting(E_ALL); ini_set('display_errors', TRUE); include'Classes/PHPExcel.php' include'Classes/PHPExcel/IOFactory.php' //$data:xls文件内容正文 //$title:xls文件内容标题 //$filename:导出的文件名 //$data和$title必须为utf-8码,否则会写入FALSE值 functionwrite_xls($data=array(),$title=array(),$filename='report'){ $objPHPExcel=newPHPExcel(); //设置文档属性,设置中文会产生乱码,需要转换成utf-8格式!! // $objPHPExcel->getProperties()->setCreator("云舒") // ->setLastModifiedBy("云舒") // ->setTitle("产品URL导出") // ->setSubject("产品URL导出") // ->setDescription("产品URL导出") // ->setKeywords("产品URL导出"); $objPHPExcel->setActiveSheetIndex(0);
$cols='ABCDEFGHIJKLMNOPQRSTUVWXYZ' //设置www.jb51.net标题 for($i=0,$length=count($title);$i<$length;$i++) { //echo $cols{$i}.Ƈ' $objPHPExcel->getActiveSheet()->setCellValue($cols{$i}.Ƈ',$title[$i]); } //设置标题样式 $titleCount=count($title); $r=$cols{0}.Ƈ' $c=$cols{$titleCount}.Ƈ' $objPHPExcel->getActiveSheet()->getStyle("$r:$c")->applyFromArray( array( 'font' =>array( 'bold' => true ), 'alignment'=>array( 'horizontal'=> PHPExcel_Style_Alignment::HORIZONTAL_RIGHT, ), 'borders'=>array( 'top' =>array( 'style'=> PHPExcel_Style_Border::BORDER_THIN ) ), 'fill'=>array( 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR, 'rotation' => 90, 'startcolor'=>array( 'argb'=>'FFA0A0A0' ), 'endcolor' =>array( 'argb'=>'FFFFFFFF' ) ) ) );
$i= 0; foreach($dataas$d) {//这里用foreach,支持关联数组和数字索引数组 $j= 0; foreach($das$v) { //这里用foreach,支持关联数组和数字索引数组 $objPHPExcel->getActiveSheet()->setCellValue($cols{$j}.($i+2),$v); $j++; } $i++; } // 生成2003excel格式的xls文件 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$filename.'.xls"'); header('Cache-Control: max-age=0');
$objWriter= PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); $objWriter->save('php://output'); } $array=array( array(1111,'名称','品牌','商品名','http://www.jb51.net'), array(1111,'名称','品牌','商品名','http://www.jb51.net'), array(1111,'名称','品牌','商品名','http://www.jb51.net'), array(1111,'名称','品牌','商品名','http://www.jb51.net'), array(1111,'名称','品牌','商品名','http://www.jb51.net'), ); write_xls($array,array('商品id','供应商名称','品牌','商品名','URL'),'report');
?> |
2、向xls文件写内容
代码如下 | 复制代码 |
<?php //获取数据库数据(mysqli预处理学习) $config=array( 'DB_TYPE'=>'mysql', 'DB_HOST'=>'localhost', 'DB_NAME'=>'test', 'DB_USER'=>'root', 'DB_PWD'=>'root', 'DB_PORT'=>', ); functiongetProductIdByName($name) { global$config; $id= false;
$mysqli=newmysqli($config['DB_HOST'],$config['DB_USER'],$config['DB_PWD'],$config['DB_NAME']); if(mysqli_connect_error()) { //兼容 < php5.2.9 OO way:$mysqli->connect_error die("连接失败,错误码:".mysqli_connect_errno()."错误信息:".mysqli_connect_error()); } //设置连接数据库的编码,不要忘了设置 $mysqli->set_charset("gbk"); //中文字符的编码要与数据库一致,若没设置,结果为null $name= iconv("utf-8","gbk//IGNORE",$name); if($mysqli_stmt=$mysqli->prepare("select id from 137_product where name like ?")) { $mysqli_stmt->bind_param("s",$name); $mysqli_stmt->execute(); $mysqli_stmt->bind_result($id); $mysqli_stmt->fetch(); $mysqli_stmt->close(); } $mysqli->close(); return$id; //得到的是gbk码(同数据库编码) } $id= getProductIdByName('%伊奈卫浴伊奈分体座便器%'); var_dump($id); ?> |
希望本文所述对大家的PHP程序设计有所帮助
本文详细介绍了一个php有道翻译api调用方法实例,调用之前我们需申请一个有道翻译API数据接口的key。想知道的同学可以看看下文。本文实例讲述了php有道翻译api调用方法,这里我们利用了file_get_contents函数直接读取由api返回的数据进行处理,分享给大家供大家参考。具体分析如下:
调用之前我们需申请一个有道翻译API数据接口的key,地址如:
http://fanyi.youdao.com/openapi?path=data-mode
方法说明,数据接口:
http://fanyi.youdao.com/openapi.do?keyfrom=
参数说明:
type - 返回结果的类型,固定为data
doctype - 返回结果的数据格式,xml或json或jsonp
version - 版本,当前最新版本为1.1
q - 要翻译的文本,不能超过200个字符,需要使用utf-8编码
errorCode:
0 - 正常
20 - 要翻译的文本过长
30 - 无法进行有效的翻译
40 - 不支持的语言类型
50 - 无效的key
PHP实例代码如下:
代码如下 | 复制代码 |
$url = "http://fanyi.youdao.com/openapi.do?keyfrom=xujiangtao&key=1490852988&type=data&doctype=json&version=1.1&q=".$content; $list = file_get_contents($url); $js_de = json_decode($list,true); |
注意:使用API key 时,请求频率限制为每小时1000次,超过限制会被封禁.
如果您的应用确实需要超过每小时1000次请求,请与 translate-service@corp.youdao.com 联系, 并提供您的应用的详细信息,名称、功能、网站地址、使用API的方式、API key、预计访问频率、是否商业行为、截屏等等,以及该应用访问有道翻译API时所使用的服务器IP,审核通过后可放宽访问限制.
本文详细介绍了php while循环得到循环次数的实例代码,在for循环中,我们很容易得到循环次数,因为是作为条件出现的,在while也可以得到。有需要的同学可以参考一下。
代码如下 | 复制代码 |
<?php $link = mysql_connect('localhost','root','pwd'); mysql_select_db('db'); $sql = "select region_id,local_name from regions where region_grade=1"; $result = mysql_query($sql); $i =0; while ($row= mysql_fetch_assoc($result)) { $list[$i]['text']=$row['local_name']; $list[$i]['value']=$row['region_id']; $i++; } $list = json_encode($list); echo $list; ?> |
phpstorm怎么实现断点调试?本文详细介绍了phpstorm+Xdebug断点调试PHP,不会的同学快来看看这篇文章吧!希望对大家有所帮助。
前言:
何为DEBUG?
相信很多程序员都知道debug这个单词,也明白它的意思,但是对于这词的由来,恐怕少有人知道。关于debug的由来,要追溯到1937年。1937年,美国青年霍德华.艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(mark1),又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿的行业,正式跨进“计算机”领地。为马克1号编制程序的是哈佛的一位女数学家格蕾丝·莫雷·赫伯,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,后来成为计算机领域的专业行话。从而debug意为程序除错的意思。
官方给出的步骤:
Zero-configuration Web Application Debugging with Xdebug and PhpStorm
运行环境:
PHPSTORM版本 : 8.0.1
PHP版本 : 5.6.2
xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll
ps : php版本和xdebug版本一定要相对应
1. PHP安装xdebug扩展
php.ini的配置,下面的配置仅供参考,路径要换成自己的!
[xdebug]
zend_extension="D:\wamp\php-5.6.2-x64\ext\php_xdebug-2.2.5-5.6-vc11-x86_64.dll"
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host= localhost
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM
ps : remote_handler 、remote_host、remote_port 这些都有默认值,但还是建议设置下,至少知道要设置这些参数~
查看phpinfo~
【或者使用PHPstudy:其他选项菜单/PHP扩展设置/PHP扩展/XDEBUG打上对钩】
2.PHPSTORM设置
楼主以前一直用zendstudio,刚开始用phpstorm非常蛋疼,用了一段时间后发现还挺好用的~
1.首先检查phpstorm的xdebug配置
这里的debug port要和php.ini里面的xdebug.remote_port相一致!默认是9000,如果9000端口被占用的话,可以改成其他端口。
phpstorm配置
客户端调试,打开phpStorm,进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填localhost,host填localhost,port填80,debugger选XDebug
进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认
进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 phpStorm,host 填localhost,port 填80
点OK退出设置。
2. 设置debug.
添加本地的 web server~
www.51open.pcom 是我本地的 web server~ ~
3.开始调试
打好第一个断点,shift + F9就可以了
打好第一个断点,选中配置的debug, 按旁边的臭虫 按钮
相关文章
- 这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
- 在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
- 该例子使用 BinaryStream 和 BinaryWriter 对二进制文件进行读写操作先上代码再根据我理解的所分享给各位朋友...2020-06-25
- 这篇文章主要介绍了c# 如何对CSV文件操作,帮助大家更好的理解和学习C#,感兴趣的朋友可以了解下...2020-11-03
- 本文主要介绍了python读取和保存mat文件的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-25
- 首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置: 在AndroidManifest.xml中加入访问SDCard的权限如下: <!--...2016-09-20
- 这篇文章主要为大家详细介绍了C#读写共享文件夹的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 这篇文章主要介绍了解决docker挂载的目录无法读写问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-19
- 这篇文章主要介绍了Go语言使用读写OPC详解,图文讲解的很清晰,有感兴趣的同学可以学习下...2021-03-05
使用Python文件读写,自定义分隔符(custom delimiter)
这篇文章主要介绍了使用Python文件读写,自定义分隔符(custom delimiter),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-06- perl CPAN中有一个Tie-File 模块极大方便了对大文件的操作...2020-06-29
使用MSScriptControl 在 C# 中读取json数据的方法
下面小编就为大家带来一篇使用MSScriptControl 在 C# 中读取json数据的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25- 这篇文章主要介绍了C#实现appSettings节点读取与修改的方法,是非常实用的技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章介绍了C#操作内存读写方法的主要实现代码,下面让我们来看看具体的实例实现,有需要的朋友可以参考一下...2020-06-25
- 这篇文章主要介绍了R语言开发之CSV文件的读写操作实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-06
- 本文主要介绍了Java读取PDF中的表格的方法示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-22
- 这篇文章主要介绍了R语言读取csv文件出错的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 下在看一个利用fopen,file_get_contents读取本地服务器中.php文件的代码并显示的一些方法总结 如我有两个文件a.php,b.php。 a.php文件中的语句是: 代码如...2016-11-25
- 这篇文章主要介绍了golang文件读取-按指定BUFF大小读取方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-22
- 今天小编就为大家分享一篇python+tifffile之tiff文件读写方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27