365bet体育|www.635288com-365体育手机在线

热门关键词: 365bet体育,www.635288com,365体育手机在线

php 对其读操作

2019-07-11 作者:365bet体育   |   浏览(105)

php对excel的操作主要通过引入 excel_reader2.php 或者是PHPExcel 类进行   两个文件自行下载

php 对其读操作:

 文件目录结构图片 1  

excel_reader2.php  在网上进行下载

代码:

  <html>    <head>     <style>       table td{border:2px solid red;padding:2px;}    table{}     </style>    </head>     <body>     <?php    error_reporting(E_ALL ^ E_NOTICE);    require_once 'excel_reader2.php';  //引入excel类    $data = new Spreadsheet_Excel_Reader("test.xls");  //获取将要读取的excel文档    echo $data->sheets[0]['numRows'];  //获得excel中的总表格数    echo  "<table  >";     for ($i = 1; $i < $data->sheets[0]['numRows']; $i  ) //从一开始计数       {      echo "<tr  >";         echo "<td>" .$data->sheets[0]['cells'][$i][1]."</td><td>".            $data->sheets[0]['cells'][$i][2]."</td><td>".    //班级        $data->sheets[0]['cells'][$i][3]."</td><td> " . //姓名        $data->sheets[0]['cells'][$i][4]. "</td><td> " .   //性别        $data->sheets[0]['cells'][$i][5]."</td>" ;   //班内序号     echo "</tr>";       }   echo "</table>";   ?>     </body>   </html>  

 

 

运行结果:

图片 2

php进行写操作: 这样结果是直接提供下载

 

<?php   echo "ok";  header("Content-type:application/vnd.ms-excel");   header("Content-Disposition:filename=test.xls");   echo "test1t";   echo "test2tn";   echo "test1t";   echo "test2tn";   echo "test1t";   echo "test2tn";   echo "test1t";   echo "test2tn";   echo "test1t";   echo "test2tn";   echo "test1t";   echo "test2tn";   /*  ,然后按照每一列数据结束后加t,每一行数据结束后加n的方法echo出来,  在php的开头用header("Content-type:application/vnd.ms-excel");  表示输出的是excel文件,用header("Content-Disposition:filename=test.xls");  表示输出的文件名为text.xls。这样就ok了。   */  ?> 

 

直接读取将其显示在网页中只需要把前面的两个header变为

 

header("Content-type:application/vnd.ms-excel");  header( "Content-Disposition:attachment;filename=名称.xls");

 

 

thinkphp对excel操作一般是将文件上传到服务器上在进行将数据读入到数据库,再次将不符合要求的数据写入excel供用户下载

excel_reader2.php 和PHPExcel 类 放在thinkphp 框架中,具体位置如图,红线就是两个文件

图片 3

后台处理代码:

 

 //将模板导入数据库并将不合格数据生成excel提供下载      public function excel(){       import("ORG.Net.UploadFile");       Vendor('excel_reader2');       Vendor('PHPExcel.PHPExcel');       $upload = new UploadFile();// 实例化上传类       $upload->savePath = $data['url']= './Public/upload/model/';    $upload->allowExts  = array('xls');// 设置附件上传类型    $upload->saveRule ="abc".time();    if(!$upload->upload()) {// 上传错误提示错误信息      $this->error($upload->getErrorMsg());    }else{// 上传成功 获取上传文件信息      $info =  $upload->getUploadFileInfo();    }        //进行excel的读取         $filename="./Public/upload/model/".$info[0]["savename"];         $data = new Spreadsheet_Excel_Reader($filename);           $model=M("user_info");         //读取数据库检查上传上的账号是否已存在         $j=0;         for($i=2;$i<=$data->sheets[0]['numRows'];$i  ){          $user_id=$data->sheets[0]['cells'][$i][1];//获取excel中的id          $count=$model->where("idcard='$user_id'")->count();          if($count){  //账号已经存在则将数据存放进数组,将其读入excel供下载            $arr[$j]['idcard']=$user_id;            $arr[$j]['user_name']=$data->sheets[0]['cells'][$i][2];            $arr[$j]['sex']=$data->sheets[0]['cells'][$i][3];            $j  ;         }else{//将数据存入数据库          $DATA['user_name']  =$data->sheets[0]['cells'][$i][2]; //获取用户名          $DATA['sex'] =$data->sheets[0]['cells'][$i][3];   //获取性别          $DATA['idcard'] = $user_id;          $DATA['pwd']=md5("123456");          $DATA['tellphone']="";          $DATA[birthday]='1970-01-01';          $DATA['creat_user']=$_SESSION['user_name'];          $DATA['user_state']='1';          $DATA['is_del']='0';          $DATA['user_type']='1';          $DATA['creat_time']=time();          $model->add($DATA);         }       }               //进行excel的写入       $objPHPExcel = new PHPExcel();          foreach($arr as $k => $v){               $num=$k 1;               $objPHPExcel->setActiveSheetIndex(0)                           //Excel的第A列,uid是你查出数组的键值,下面以此类推                            ->setCellValue('A'.$num, $v['idcard'])                                ->setCellValue('B'.$num, $v['user_name'])                            ->setCellValue('C'.$num, $v['sex']);              }              $objPHPExcel->getActiveSheet()->setTitle('User');              $objPHPExcel->setActiveSheetIndex(0);               $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');              //$objWriter->save('php://output');              $file=time().".xls";              $saveload="./Public/upload/model/abcd".$file;              echo $saveload;               $objWriter->save($saveload);//下载到文件        $num=$data->sheets[0]['numRows']-1;        $num2=$data->sheets[0]['numRows']-1-count($arr);        $string="<br />共有<font color='red'>".$num."</font>条数据<br />";        $string .= "上传成功<font color='red'>".$num2."</font>条<br />";        $string .= "失败<font color='red'>".count($arr)."</font>条<br />";        $string .="<a  .$file."'>下载失败数据</a>";        echo $string;               exit;      }

 

 


本文由365bet体育发布于365bet体育,转载请注明出处:php 对其读操作

关键词: