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安装为Apache DSO
Oct 09 PHP
PHP类的使用 实例代码讲解
Dec 28 PHP
检测png图片是否完整的php代码
Sep 06 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
ThinkPHP页面跳转success与error方法概述
Jun 25 PHP
新浪SAE搭建PHP项目教程
Jan 28 PHP
php简单实现屏蔽指定ip段用户的访问
Apr 29 PHP
PHP下载生成的csv文件及问题总结
Aug 06 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
Dec 19 PHP
Laravel中使用Queue的最基本操作教程
Dec 27 PHP
PHP children()函数讲解
Feb 03 PHP
PHP安全之register_globals的on和off的区别
Jul 23 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
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
thinkphp备份数据库的方法分享
2015/01/04 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
浅析Prototype的模板类 Template
2011/12/07 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
jqueryUI里拖拽排序示例分析
2015/02/26 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
Echart折线图手柄触发事件示例详解
2018/12/16 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
在Python程序中操作MySQL的基本方法
2015/07/29 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
解决yum对python依赖版本问题
2019/07/05 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
预订从美国飞往印度的机票:MyTicketsToIndia
2017/05/19 全球购物
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
生产部主管岗位职责
2014/01/06 职场文书
财务部会计岗位职责
2015/02/03 职场文书
实名检举信范文
2015/03/02 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
公司表扬信格式
2015/05/04 职场文书
单位综合评价意见
2015/06/05 职场文书
老人院义工活动感想
2015/08/07 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技