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 相关文章推荐
PHP5/ZendEngine2的改进
Oct 09 PHP
php数组的一些常见操作汇总
Jul 17 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
May 15 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
Jun 13 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
Jun 21 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
Jun 26 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
Jul 08 PHP
微信公众号判断用户是否已关注php代码解析
Jun 24 PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 PHP
详解php curl带有csrf-token验证模拟提交方法
Apr 18 PHP
YII分模块加载路由的实现方法
Oct 01 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
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
[原创]php简单防盗链验证实现方法
2016/07/09 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
网页中的图片的处理方法与代码
2009/11/26 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
30个经典的jQuery代码开发技巧
2014/12/15 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
Vue中 axios delete请求参数操作
2020/08/25 Javascript
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
通过源码分析Python中的切片赋值
2017/05/08 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
Python高级property属性用法实例分析
2019/11/19 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
民主生活会发言材料
2014/10/20 职场文书
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
从原生JavaScript到React深入理解
2022/07/23 Javascript