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语法(4)
Oct 09 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
windows下配置php5.5开发环境及开发扩展
Dec 25 PHP
php提交post数组参数实例分析
Dec 17 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
Dec 22 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
Nov 08 PHP
php mysql获取表字段名称和字段信息的三种方法
Nov 13 PHP
php实现用户注册密码的crypt加密
Jun 08 PHP
PHP实现通过CURL上传文件功能示例
May 30 PHP
phpstudy2020搭建站点的实现示例
Oct 30 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
一个odbc连mssql分页的类
2006/10/09 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
JQuery从头学起第二讲
2010/07/04 Javascript
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
谈谈JavaScript类型系统之Math
2016/01/06 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
2019/05/20 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
python编程培训 python培训靠谱吗
2018/01/17 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
flask实现验证码并验证功能
2019/12/05 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
PyQt5实现简单的计算器
2020/05/30 Python
Django 实现 Websocket 广播、点对点发送消息的代码
2020/06/03 Python
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
Tessabit美国:集世界奢侈品和设计师品牌的意大利精品买手店
2020/06/29 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
大专学生求职自荐信
2014/07/06 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
商铺租房协议书范本
2014/12/04 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
员工试用期工作总结
2019/06/20 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers