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 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
May 06 PHP
PHP 飞信好友免费短信API接口开源版
Jul 22 PHP
php学习笔记 数组遍历实现代码
Jun 09 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
Nov 02 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
ThinkPHP Mobile使用方法简明教程
Jun 18 PHP
php动态生成缩略图并输出显示的方法
Apr 20 PHP
Twig模板引擎用法入门教程
Jan 20 PHP
PHP云打印类完整示例
Oct 15 PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 PHP
PHP+RabbitMQ实现消息队列的完整代码
Mar 20 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里的JS打印函数
2006/10/09 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
php导入大量数据到mysql性能优化技巧
2014/12/29 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
script标签属性用type还是language
2015/01/21 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
python使用scrapy解析js示例
2014/01/23 Python
Python实现CET查分的方法
2015/03/10 Python
收藏整理的一些Python常用方法和技巧
2015/05/18 Python
使用python实现链表操作
2018/01/26 Python
python使用多进程的实例详解
2018/09/19 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
Html5 localStorage入门教程
2018/04/26 HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
农村党支部先进事迹
2014/01/14 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
党校培训自我鉴定范文
2014/03/20 职场文书
小露珠教学反思
2014/04/30 职场文书
新品发布会策划方案
2014/06/08 职场文书
门面房租房协议书
2014/08/20 职场文书
西湖英语导游词
2015/02/06 职场文书
归元寺导游词
2015/02/06 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
python APScheduler执行定时任务介绍
2022/04/19 Python