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 相关文章推荐
文章推荐系统(二)
Oct 09 PHP
php对大文件进行读取操作的实现代码
Jan 23 PHP
基于PHP magic_quotes_gpc的使用方法详解
Jun 24 PHP
php发送post请求的三种方法
Feb 11 PHP
PHP、Python和Javascript的装饰器模式对比
Feb 03 PHP
PHP中Closure类的使用方法及详解
Oct 09 PHP
Yii清理缓存的方法
Jan 06 PHP
ThinkPHP项目分组配置方法分析
Mar 23 PHP
PHP针对字符串开头和结尾的判断方法
Jul 11 PHP
php插件Xajax使用方法详解
Aug 31 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 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实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
prototype Element学习笔记(篇二)
2008/10/26 Javascript
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
js编写贪吃蛇的小游戏
2020/08/24 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
详解Python中的四种队列
2018/05/21 Python
flask session组件的使用示例
2018/12/25 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
pytorch梯度剪裁方式
2020/02/04 Python
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
常务副总经理岗位职责
2014/04/12 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
消费者投诉书范文
2015/07/02 职场文书
感恩的心主题班会
2015/08/12 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫