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
点击
4012