Title

PHP利用PHPExcel拓展实现导入导出

  • 作者:Mr_Yan
  • php
  • 时间:2019-03-22 16:06:44
  • 234人已阅读
php

都说不要重复造轮子那么作为一个猿类,既然创新不了,那就好好使用轮子....     (●'◡'●)

PHP 实现excel导入导出这个功能在很多项目中都会用到

现在给大家简单介绍一下这个插件的使用方法


一、下载安装过程就不多说了,

传送门: 下载phpexcel - CodePlex Archive


二、在下载好的包下创建read.php   write.php,如图

image.png


三、数据库字段展示

image.png





废话不多说,直接上代码

write.php


//导出数据

header("Content-type:text/html;charset=utf-8");
date_default_timezone_set("PRC");
$dir=dirname(__FILE__);
require_once $dir."/conn.php";
require_once $dir."/PHPExcel/IOFactory.php";
require_once $dir."/PHPExcel.php";

$objPHPExcel=new PHPExcel();  //实例化PHPExcel类文件

$objSheet=$objPHPExcel->getActiveSheet();//获取当前活动sheet的操作对象
$objSheet->setTitle("demo");//给当前活动Sheet设置名称

//数据查询
$sql="select  epc, date, mid  from soctk";
$rs= mysqli_query($link,$sql);
$num_rows  =  mysqli_num_rows ( $rs );

$arr=array(array("epc","date","mid"));//设置EXCEL 头部说明

$i=1;
while ($row = mysqli_fetch_array($rs,MYSQLI_ASSOC)){
   $i++;
   $arr[$i]=$row;
}
/*echo "<pre>";
var_dump($arr);exit;*/

$objSheet->fromArray($arr);//加载数据块来填充数据
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,"Excel2007");//按照指定格式生成Excel文件
$objWriter->save("C:\Users\Administrator\Desktop".DIRECTORY_SEPARATOR."demo_8.xlsx");  //生成文件


导出结果如下图

image.png


read.php

header("Content-type:text/html;charset=utf-8");
date_default_timezone_set("PRC");
$dir=dirname(__FILE__);
//一。导入IOFactory PHPExcel 类文件
require_once $dir."/PHPExcel/IOFactory.php";
require_once $dir."/PHPExcel.php";
require_once $dir."/conn.php";
//$filename=$dir."/asdas.csv"; //文件名称

$filename="C:\Users\Administrator\Desktop".DIRECTORY_SEPARATOR."demo_8.xlsx" ;

//echo  file_get_contents($filename) ;
   //$file_name= './Upload/excel/123456.xls';

 /*  $objReader = PHPExcel_IOFactory::createReader('CSV');
   $objPHPExcel = $objReader->load($filename,$encode='utf-8');
   $sheet = $objPHPExcel->getSheet(0);
   $highestRow = $sheet->getHighestRow(); // 取得总行数
   $highestColumn = $sheet->getHighestColumn(); // 取得总列数

   $data = $objPHPExcel->getActiveSheet()->getCell('A4')->getValue();

var_dump($data);*/


//二 获取文件操作对象
$filetype=PHPExcel_IOFactory::identify($filename); //自动获取文件类型
//echo $filetype;
$objread= PHPExcel_IOFactory::createReader($filetype);//获取文件操作对象

//三 读取文件内容
$PHPExcel=$objread->load($filename,$encode='utf-8');  //读取文件

//$PHPExcel=PHPExcel_IOFactory::load($filename);

$count=$PHPExcel->getSheetCount(); //获取总sheet
$sheet = $PHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();//总行数


/*//读取整个EXCEL文件
for($i=0;$i<$count;$i++) {

     $data= $PHPExcel->getSheet($i)->toArray(); //整个sheet读取
   // $data = $PHPExcel->getActiveSheet()->getCell('D4')->getValue();
}
echo "<pre>";
var_dump($data);
exit;*/

// 剔除头部信息,获取单行的数据
for ($row = 2; $row <= $highestRow; $row++){
   $a = $PHPExcel -> getActiveSheet() -> getCell("A".$row)->getValue();
   $b = $PHPExcel -> getActiveSheet() -> getCell("B".$row)->getValue();
   $c = $PHPExcel -> getActiveSheet() -> getCell("C".$row)->getValue();
echo "{$a}--{$b}--{$c}</br>";

}


结果展示

image.png



本文为MrYan原创文章,转载无需和我联系,但请注明来自MrYan个人博客:www.mryan888.com

文章评论

Top