phpexcel是一个php类库,用来帮助我们简单、高效实现从excel读取excel的数据和导出数据到excel。也是我们日常开发中,经常会遇到的使用场景。比如有个客户信息表,要批量导出发给同事,我们就可以用phpexcel来快速实现。同样,如果我们要利用短信群发接口去群发信息,phpexcel可以快速导入客户信息,避免人工录入信息的麻烦。
phpexcel使用教程:
首先下载phpexcel
到https://github.com/phpoffice/phpexcel下载phpexcel,如果不懂得使用git,可以到这https://codeload.github.com/phpoffice/phpexcel/zip/1.8下载压缩包,懂得的自行用git下载。
下载好文件,解压可以得到如下文件:
phpexcel
好了,现在我们就可以用phpexcel愉快的读取和制作表格了!
phpexcel demo1:利用phpexcel读取excel信息:
我们在根目录创建一个名为read.php的文件来读取文档,创建一个test.xlsx的文件,里面写的信息如下:
然后在read.php写以下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php include ‘./classes/phpexcel/iofactory.php'; $inputfilename = ‘./test.xls'; date_default_timezone_set(‘prc'); // 读取excel文件 try { $inputfiletype = phpexcel_iofactory::identify( $inputfilename ); $objreader = phpexcel_iofactory::createreader( $inputfiletype ); $objphpexcel = $objreader ->load( $inputfilename ); } catch (exception $e ) { die (‘加载文件发生错误:”‘. pathinfo ( $inputfilename ,pathinfo_basename).'”: ‘. $e ->getmessage()); } // 确定要读取的sheet,什么是sheet,看excel的右下角,真的不懂去百度吧 $sheet = $objphpexcel ->getsheet(0); $highestrow = $sheet ->gethighestrow(); $highestcolumn = $sheet ->gethighestcolumn(); // 获取一行的数据 for ( $row = 1; $row <= $highestrow ; $row ++){ // read a row of data into an array $rowdata = $sheet ->rangetoarray(‘a ' . $row . ‘:' . $highestcolumn . $row , null, true, false); //这里得到的rowdata都是一行的数据,得到数据后自行处理,我们这里只打出来看看效果 var_dump( $rowdata ); echo “<br>”; } |
得到的数据:
phpexcel读取文件
phpexcel demo2:利用phpexcel导出信息到excel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
<?php /** error reporting */ error_reporting (e_all); ini_set ( 'display_errors' , true); ini_set ( 'display_startup_errors' , true); date_default_timezone_set( 'prc' ); /** 引入phpexcel */ require_once dirname( __file__ ) . './classes/phpexcel.php' ; // 创建excel文件对象 $objphpexcel = new phpexcel(); // 设置文档信息,这个文档信息windows系统可以右键文件属性查看 $objphpexcel ->getproperties()->setcreator( "作者简庆旺" ) ->setlastmodifiedby( "最后更改者" ) ->settitle( "文档标题" ) ->setsubject( "文档主题" ) ->setdescription( "文档的描述信息" ) ->setkeywords( "设置文档关键词" ) ->setcategory( "设置文档的分类" ); //根据excel坐标,添加数据 $objphpexcel ->setactivesheetindex(0) ->setcellvalue( 'a1' , '你好' ) ->setcellvalue( 'b2' , '世界' ) ->setcellvalue( 'c1' , '你好' ) ->setcellvalue( 'd2' , '世界' ); // 混杂各种符号, 编码为utf-8 $objphpexcel ->setactivesheetindex(0) ->setcellvalue( 'a4' , 'miscellaneous glyphs' ) ->setcellvalue( 'a5' , 'éàèùâêîôûëïüÿäöüç' ); $objphpexcel ->getactivesheet()->setcellvalue( 'a8' , "你好世界" ); $objphpexcel ->getactivesheet()->getrowdimension(8)->setrowheight(-1); $objphpexcel ->getactivesheet()->getstyle( 'a8' )->getalignment()->setwraptext(true); $value = "-valuea\n-value b\n-value c" ; $objphpexcel ->getactivesheet()->setcellvalue( 'a10' , $value ); $objphpexcel ->getactivesheet()->getrowdimension(10)->setrowheight(-1); $objphpexcel ->getactivesheet()->getstyle( 'a10' )->getalignment()->setwraptext(true); $objphpexcel ->getactivesheet()->getstyle( 'a10' )->setquoteprefix(true); // 重命名工作sheet $objphpexcel ->getactivesheet()->settitle( '第一个sheet' ); // 设置第一个sheet为工作的sheet $objphpexcel ->setactivesheetindex(0); // 保存excel 2007格式文件,保存路径为当前路径,名字为export.xlsx $objwriter = phpexcel_iofactory::createwriter( $objphpexcel , 'excel2007' ); $objwriter ->save( 'export.xlsx' ); // 保存excel 95格式文件,,保存路径为当前路径, $objwriter = phpexcel_iofactory::createwriter( $objphpexcel , 'excel5' ); $objwriter ->save( 'export.xls' ); |
好了,执行后我们可以得到export.xls和export.xlsx。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!
原文链接:http://www.cnblogs.com/jianqingwang/p/6830892.html