CI框架(CodeIgniter)实现的导入、导出数据操作示例


Posted in PHP onMay 24, 2018

本文实例讲述了CI框架(CodeIgniter)实现的导入、导出数据操作。分享给大家供大家参考,具体如下:

在libraies中引用PHPExcel这个类(phpexcel.php)

public function excel_put(){
  //先做一个文件上传,保存文件
  $path=$_FILES['file'];
  $filePath = "uploads/".$path["name"];
  move_uploaded_file($path["tmp_name"],$filePath);
  //$data=array('B'=>'name','C'=>'pwd','D'=>'money1','E'=>'salt');
  $data=array('B'=>'name','C'=>'pid');
  $tablename='city2';//表名字
  $this->excel_fileput($filePath,$data,$tablename);
}
private function excel_fileput($filePath,$data,$tablename){
  $this->load->library("phpexcel");//ci框架中引入excel类
  $PHPExcel = new PHPExcel();
  $PHPReader = new PHPExcel_Reader_Excel2007();
  if(!$PHPReader->canRead($filePath)){
    $PHPReader = new PHPExcel_Reader_Excel5();
    if(!$PHPReader->canRead($filePath)){
      echo 'no Excel';
      return ;
    }
  }
  // 加载excel文件
  $PHPExcel = $PHPReader->load($filePath);
  // 读取excel文件中的第一个工作表
  $currentSheet = $PHPExcel->getSheet(0);
  // 取得最大的列号
  $allColumn = $currentSheet->getHighestColumn();
  // 取得一共有多少行
  $allRow = $currentSheet->getHighestRow();
  // 从第二行开始输出,因为excel表中第一行为列名
  for($currentRow = 2;$currentRow <= $allRow;$currentRow++){
    /**从第A列开始输出*/
    //echo $allColumn;
    for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
      $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();
      //print_r($val);
      //die;
      if($currentColumn == 'A')
      {
        //echo $val."\t";
      }else if($currentColumn <= $allColumn){
        $data1[$currentColumn]=$val;
      }
    }
    foreach($data as $key=>$val){
      $data2[$val]=$data1[$key];
    }
    $this->db->insert($tablename,$data2);
    //print_r($data2);
    //echo "</br>";
  }
  //echo "\n";
  echo "导入成功";
}

导出数据:

public function excel_out(){
  header("Content-type:text/html");
  header("Content-Disposition:attachment;filename=123.xls");
  $array=$this->db->get("city")->result_array();
  $str="id\t"."name\t"."pid\n";
  foreach($array as $val){
    $str.=$val['id']."\t".$val['name']."\t".$val['pid']."\n";
  }
  echo $str;
}

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php escape URL编码
Dec 10 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
PHP用GD库生成高质量的缩略图片
Mar 09 PHP
PHP简洁函数(PHP简单明了函数语法)
Jun 10 PHP
PHP实现抓取HTTPS内容
Dec 01 PHP
PHP使用PDO操作数据库的乱码问题解决方法
Apr 08 PHP
简单实现PHP留言板功能
Dec 21 PHP
PHP实现图片批量打包下载功能
Mar 01 PHP
thinkphp分页集成实例
Jul 24 PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 PHP
PHP 文件写入和读取操作实例详解【必看篇】
Nov 04 PHP
php的单例模式及应用场景详解
Feb 27 PHP
PHP实现一维数组与二维数组去重功能示例
May 24 #PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 #PHP
yii2安装详细流程
May 23 #PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 #PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 #PHP
PHP工厂模式简单实现方法示例
May 23 #PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 #PHP
You might like
PHP中替换键名的简易方法示例详解
2014/01/07 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
yii框架无限极分类的实现方法
2017/04/08 PHP
jquery的颜色选择插件实例代码
2008/10/02 Javascript
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
js删除所有的cookie的代码
2010/11/25 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
理解javascript中的闭包
2017/01/11 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
python查询文件夹下excel的sheet名代码实例
2019/04/02 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
餐饮主管岗位职责
2013/12/10 职场文书
教师的实习自我鉴定
2013/12/17 职场文书
年会活动策划方案
2014/01/23 职场文书
优秀毕业生自我鉴定
2014/02/11 职场文书
《小动物过冬》教学反思
2014/04/17 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
大学专科自荐信
2014/06/17 职场文书
自查自纠工作总结
2014/10/15 职场文书
英语辞职信范文
2015/02/28 职场文书
2015年“我们的节日·重阳节”活动总结
2015/07/29 职场文书