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 相关文章推荐
关于zend studio 出现乱码问题的总结
Jun 23 PHP
php指定函数参数默认值示例代码
Dec 04 PHP
php中\r \r\n \t的区别示例介绍
Feb 08 PHP
codeigniter中测试通过的分页类示例
Apr 17 PHP
php使用百度ping服务代码实例
Jun 19 PHP
PHP中常用的字符串格式化函数总结
Nov 19 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
php源码 fsockopen获取网页内容实例详解
Sep 24 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 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中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
php实现文件下载实例分享
2014/06/02 PHP
五款PHP代码重构工具推荐
2014/10/14 PHP
php采用curl实现伪造IP来源的方法
2014/11/21 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
jquery插件之easing 动态菜单
2010/08/21 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中的集合类型知识讲解
2015/08/19 Python
Python实现求笛卡尔乘积的方法
2017/09/16 Python
tensorflow训练中出现nan问题的解决
2018/02/10 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python的高阶函数用法实例分析
2019/04/11 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
外企测试工程师面试题
2015/02/01 面试题
静态变量和实例变量的区别
2015/07/07 面试题
采购求职信
2014/03/17 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
党员转正意见怎么写
2015/06/03 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle
对讲机知识
2022/04/07 无线电