PHPExcel使用方法
前几天我用PHPExcel做了一个网站的数据Excel导入导出系统,然后把心得发一下
首先肯定要下载一个PHPExcel,这个谷歌上到处都有就不放了
然后接下来先讨论导出,相对来说导出比导入简单很多
首先当然需要include库进来,这里引入PHPExcel.php即可
include './include/phpexcel/PHPExcel.php';
然后创建对象
$excel=new PHPExcel();
接下来只要知道一个写入的接口,就是
$excel->getActiveSheet()->setCellValue(Listname,Value);
Listname就是列名,比如A1,B5之类的,value就是格子里面的值
下面就是完整的代码:
for ($i = 2;$i <= count($arr) + 1;$i++) { $j = 0; foreach ($arr[$i - 2] as $key=>$value) { $excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value"); $j++; } }
然后数据写完以后导出即可
$write=new PHPExcel_Writer_Excel5($excel); header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=".date('Y-m-d H:i:s',time()).".xls"); $write->save('php://output');
然后是导入,导入比较麻烦。当然导入的接口其实也不麻烦,主要麻烦的地方在于导入以后的数据处理,这里就只介绍接口了。
首先引入IOFactory.php,然后先判断后缀名
$tmp_name=$_FILES['excel']['tmp_name']; $file_name=$_FILES['excel']['name']; $temp_arr=explode(".",$file_name); $file_ext=array_pop($temp_arr); $file_ext=trim($file_ext); $file_ext=strtolower($file_ext); if ($file_ext=="xls"){ $inputFileType = 'Excel5'; }elseif ($file_ext=="xlsx"){ $inputFileType = 'Excel2007'; }else{ $smarty->assign("alert","导入的文件必须为excel"); die; }
这里xls和xlsx用的是不同的类来处理(因为数据格式不同)
$inputFileName=$tmp_name; $objReader=PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel=$objReader->load($inputFileName);
然后只要调用这个createReader方法即可
接下来获取总行数列数
$objWorksheet=$objPHPExcel->getActiveSheet();//取得总行数 $highestRow=$objWorksheet->getHighestRow();//取得总列数 $highestColumn=$objWorksheet->getHighestColumn(); $highestColumnIndex=PHPExcel_Cell::columnIndexFromString($highestColumn);//总列数
当然,还有获取数据的接口
$objWorksheet->getCellByColumnAndRow($col,$row)->getValue()
只需要定义$col和$row即可获取数据,然后一般循环调用就可以获取所有数据
2017
02 27
上一篇
Older
下一篇
Newer
评论
0
点击
3655