资讯专栏INFORMATION COLUMN

phpExcel实现Excel数据的导入导出(全步骤详细解析)

zengdongbao / 3447人阅读

摘要:上传添加需下载类文件,引入到项目类库里接收前台文件,接收前台文件重设置文件名设置移动路径表用函数方法返回数组创建一个读取数据,可用于入库引用类静态类设置为代表支持或以下版本,代表版开始读取上传到服务器中的文件,返回一个二维数组

1.上传添加excel

(需下载PHPExcel类文件,引入到项目类库里)

//接收前台文件,  
public function addExcel()  
    {      
        //接收前台文件  
        $ex = $_FILES["excel"];  
        //重设置文件名  
        $filename = time().substr($ex["name"],stripos($ex["name"],"."));  
        $path = "./excel/".$filename;//设置移动路径  
        move_uploaded_file($ex["tmp_name"],$path);  
        //表用函数方法 返回数组  
        $exfn = $this->_readExcel($path);  
  
        $this->redirect("input");  
    }  
  
    //创建一个读取excel数据,可用于入库  
    public function _readExcel($path)  
    {      
        //引用PHPexcel 类  
        include_once(IWEB_PATH."core/util/PHPExcel.php");  
        include_once(IWEB_PATH."core/util/PHPExcel/IOFactory.php");//静态类  
        $type = "Excel2007";//设置为Excel5代表支持2003或以下版本,Excel2007代表2007版  
        $xlsReader = PHPExcel_IOFactory::createReader($type);    
        $xlsReader->setReadDataOnly(true);  
        $xlsReader->setLoadSheetsOnly(true);  
        $Sheets = $xlsReader->load($path);  
            //开始读取上传到服务器中的Excel文件,返回一个二维数组  
        $dataArray = $Sheets->getSheet(0)->toArray();  
        return $dataArray;  
    }  
2,导出下载Excel文件
 /** 
 * 导出文件 
 * @author Jef 
 * @param 
 * @return 
 */  
public function export_file()  
    {      
  
        $u = new IQuery("user");  
        $data = $u->find();  
        $name = "user_".time();  
        $this->push($data,$name);  
        $this->redirect("export");  
    }  
  
     /* 导出excel函数*/  
    public function push($data,$name="Excel")  
    {  
  
        include_once(IWEB_PATH."core/util/PHPExcel.php");  
        error_reporting(E_ALL);  
        date_default_timezone_set("Europe/London");  
        $objPHPExcel = new PHPExcel();  
  
        /*以下是一些设置 ,什么作者  标题啊之类的*/  
         $objPHPExcel->getProperties()->setCreator("转弯的阳光")  
           ->setLastModifiedBy("转弯的阳光")  
           ->setTitle("数据EXCEL导出")  
           ->setSubject("数据EXCEL导出")  
           ->setDescription("备份数据")  
           ->setKeywords("excel")  
          ->setCategory("result file");  
         /*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/  
        foreach($data as $k => $v){  
  
             $num=$k+1;  
             $objPHPExcel->setActiveSheetIndex(0)//Excel的第A列,uid是你查出数组的键值,下面以此类推  
                          ->setCellValue("A".$num, $v["id"])     
                          ->setCellValue("B".$num, $v["username"])  
                          ->setCellValue("C".$num, $v["password"])  
                          ->setCellValue("D".$num, $v["email"])  
                          ->setCellValue("E".$num, $v["head_ico"])  
                          ->setCellValue("F".$num, $v["invite"])  
                          ->setCellValue("G".$num, $v["is_seller_invite"]);  
            }  
  
            $objPHPExcel->getActiveSheet()->setTitle("User");  
            $objPHPExcel->setActiveSheetIndex(0);  
             header("Content-Type: applicationnd.ms-excel");  
             header("Content-Disposition: attachment;filename="".$name.".xls"");  
             header("Cache-Control: max-age=0");  
             $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel5");  
             $objWriter->save("php://output");  
             exit;  
      }  

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25960.html

相关文章

  • 关于laravel5excel包maatwebsite/excel使用笔记_v1.0_byKL

    摘要:关于的包的使用笔记关于安装官网已经很详细了不再描述关于导入导入的话只有几个小地方需要注意导入的时候会有产生一些的在循环遍历导入的数据的时候主动忽略关于中文或者乱码问题或者在配置文件在安装这个模块的文档有介绍怎么生成这个文件 关于laravel5的excel包maatwebsite/excel的使用笔记 关于安装 官网已经很详细了,不再描述.http://www.maatwebsite....

    MkkHou 评论0 收藏0
  • php处理Excel

    摘要:导出成为在绝大多数情况下,导出其实就是将二维数组转化为表格。要保存的的名字转换为表格的二维数组设置表格填充数据设置表格并输出导入同理,导入其实就是将的数据转化成为二维数组,这就要求必须符合格式。 遇到问题 平时在工作中,时常会出现将数据库表导出为Excel或者将Excel导入数据库表的需求。这一需求早早就已经实现过了,为了方便导入导出,我将其封装成了两个方法,作为记录。 代码实现 ph...

    gitmilk 评论0 收藏0
  • 打造最PHPExcel开发解决方案

    摘要:过去工作中使用较多,碰到并解决了各种大大小小的问题,总结出这样一篇文章,一方面记录自己踩过的坑,一方面与大家分享,让大家少走弯路,并不断完善之,欢迎大家去上面和提交,不断补充和优化,打造最全面的开发解决方案地址原文地址基础小试牛刀引用文 过去工作中使用PHPExcel较多,碰到并解决了各种大大小小的问题,总结出这样一篇文章,一方面记录自己踩过的坑,一方面与大家分享,让大家少走弯路,并不...

    ThinkSNS 评论0 收藏0
  • ThinkPHP用PHPExcle导出Excel文件

    摘要:本篇文章主要讲述,如何在中使用中导出文件,是博主在实践了好多篇别人的帖子之后,总结归纳出来的文章,亲测可用。我的博客欢迎骚扰原文地址用导出文件。将文件,重命名成。文章结束,欢迎转载。 本篇文章主要讲述,如何在thinkPHP中使用PHPExcel中导出Excel文件,是博主在实践了好多篇别人的帖子之后,总结归纳出来的文章,亲测可用。thinkPHP版本是3.2。 我的博客:Mine-...

    rollback 评论0 收藏0
  • php通用excel导出方法

    摘要:一普遍导出方法在或是系统中导出是常有的事,做过的此功能人都知道,其主要操作其实是循环数据列表,然后一格一格地添加数据到固定的单元格中。 一.普遍导出方法 在crm或是oa系统中导出excel是常有的事,做过的此功能人都知道,其主要操作其实是循环数据列表,然后一格一格地添加数据到固定的单元格中。只要做好了一次,其后只要复制相关代码修改修改,其他地方导出功能也就完成了。 但是这样会有两个问...

    dendoink 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<