鑫吧首页
鑫吧案例
模板建站
资料下载
建站技术
联系鑫吧

浅谈PHPexcel导入导出

2017-02-23 15:12:27   来源:   评论:0 点击:

文仅限紧急使用;
首先下载phpexcel 类库;


图片1.png
把phpexcel 和 phpexcel.php复制出来;其实里面都有demo可以看看;
看看导出
图片3.png
  1. <?php
  2.         //我们来写一个导出的  demo
  3.         //包含一些phpexcel的类库;具体是什么其实鄙人也不太懂;具体百度;
  4.         header("Content-Typ:text/html;charset=utf-8");
  5.         include "PHPExcel/Writer/IWriter.php";
  6.         include "PHPExcel/Writer/Excel5.php";
  7.         require_once 'PHPExcel.php';
  8.         include 'PHPExcel/IOFactory.php';
  9.         $objPHPExcel = new PHPExcel();
  10.         $objPHPExcel->getActiveSheet()->setCellValue('A1', "ID");//设置列的值
  11.         $objPHPExcel->getActiveSheet()->setCellValue('B1', "姓名");//设置列的值
  12.         $objPHPExcel->getActiveSheet()->setCellValue('C1', "班级");//设置列的值
  13.         $objPHPExcel->getActiveSheet()->setCellValue('D1', "性别");//设置列的值
  14.                
  15.         //我们在从数据库查出信息;
  16.         mysql_connect("localhost","root","123456");
  17.         mysql_select_db("test");
  18.         mysql_query("set names utf8");
  19.         
  20.         
  21.  
  22.         $sql = "SELECT * FROM `excel`";
  23.         $query = mysql_query($sql);
  24.         $arr = array();
  25.         while($res = mysql_fetch_assoc($query)){
  26.                 $arr[]=$res;
  27.                 $arr['sex'] = $arr['sex']==1?'男':'女';//把性别设置好;其实其他数据需要弄好;就在这给弄好;
  28.         
  29.         }
  30.         $count = count($arr); //求出有多少行;
  31.         $i=2; //注意这是2;因为第一行我们已经设置了表头信息;
  32.         //注意开始往excel设置信息了;
  33.         for($j=0;$j<$count;$j++)
  34.         {
  35.                 $objPHPExcel->setActiveSheetIndex(0)
  36.                 ->setCellValue('A'.$i,$arr[$j]['id'])   //注意这里没有分号结束;
  37.                 ->setCellValue('B'.$i,$arr[$j]['name'])
  38.                 ->setCellValue('C'.$i,$arr[$j]['class'])
  39.                 ->setCellValue('D'.$i,$arr[$j]['sex']);
  40.                 $i++;
  41.         }
  42.  
  43.         
  44. $objPHPExcel->getActiveSheet(0)->setTitle('member');
  45. $objPHPExcel->setActiveSheetIndex(0);
  46. header('Content-Type: application/vnd.ms-excel');
  47. $time= date('Y-m-d',time());
  48. header('Content-Disposition: attachment;filename="excel_'.$time.'.xls"');
  49. header('Cache-Control: max-age=0');
  50. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
  51. $objWriter->save('php://output');
  52.         
  53.         
  54. ?>
复制代码

导出成功

]6YK5O)N1)KW}T~2~GA3HRG.jpg


看看导入

  1. <?php
  2.         //这个是导入数据库;
  3.         if(!empty($_POST['submit'])){
  4.                 require_once 'PHPExcel.php';
  5.                 require_once 'PHPExcel/IOFactory.php';
  6.                 require_once 'PHPExcel/Reader/Excel5.php';
  7.                 include 'function.php'; //上传文件用的;
  8.         //这里我引用ecshop的上传文件来搞上传了;
  9.                 $objReader = new PHPExcel_Reader_Excel5;//注意和导出的类不一样哦;
  10.         //我们在从数据库查出信息;
  11.         mysql_connect("localhost","root","123456");
  12.         mysql_select_db("test");
  13.         mysql_query("set names utf8");
  14.         
  15.         if(!empty($_FILES['file']['tmp_name'])){
  16.                 $ftype = check_file_type($_FILES['file']['tmp_name'], $_FILES['file']['name'], '|xls|');
  17.                 if (!empty($ftype))
  18.                 {
  19.                         $filename = date('Ymd');
  20.                         for ($i = 0; $i < 6; $i++)
  21.                         {
  22.                                 $filename .= chr(mt_rand(97, 122));
  23.                         }
  24.                         $filename = $filename . '.' . $ftype;
  25.                         $target =  'uploadfile/' . $filename;
  26.                         if (!move_upload_file($_FILES['file']['tmp_name'], $target))
  27.                         {
  28.                                 echo '上传失败!';
  29.                                 exit;        
  30.                         }
  31.                 }else{
  32.                         echo '文件格式不正确';
  33.                         exit;
  34.                 }
  35.         }else{
  36.                 echo '请选择文件';
  37.                 exit;
  38.         }
  39.  
  40.         //文件上传成功后;开始读xls了;
  41. $objPHPExcel = $objReader->load($target); //$filename可以是上传的文件,或者是指定的文件
  42. $sheet = $objPHPExcel->getSheet(0);
  43. $highestRow = $sheet->getHighestRow(); // 取得总行数
  44. $highestColumn = $sheet->getHighestColumn(); // 取得总列数
  45. for($j=2;$j<=$highestRow;$j++)
  46. {
  47. /* 会员注册信息*/
  48. $id = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();//获取A列的值
  49. $name = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//获取B列的值
  50. $class = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();
  51. $sex = $objPHPExcel->getActiveSheet()->getCell("D".$j)->getValue();
  52.  
  53. $sex = $sex=='男'?1:2;
  54.  
  55. if(!empty($name) && !empty($class) && !empty($sex)){
  56.         mysql_query("INSERT INTO excel(name,sex,class)values('$name','$sex','$class')");        
  57. }
  58.  
  59. }
  60.  
  61. }
  62.  
  63. ?>
  64.  
  65. <form action="" method="post"  enctype="multipart/form-data">
  66.         <input type="file" name='file' >
  67.         <input type="submit" name='submit' value='导入'>
  68. </form>
复制代码

导入成功

543@)8[@9(2}CLPM5EN

 

图片2.png (13.75 KB, 下载次数: 0)

 

图片2.png

 

图片1.png (60.49 KB, 下载次数: 0)

 

图片1.png

 

图片2.png (13.75 KB, 下载次数: 0)

 

图片2.pngxinba.net/uploadfile/2017/0223/20170223031331937.png" title="图片2.png" w="574" width="574" zoomfile="data/attachment/forum/201307/01/212041udnsfdnss66undd3.png" />


相关热词搜索:

我要分享给他:

喜欢就点我->[收藏]
<