使用phpExcel实现Excel数据的导入导出(完全步骤)

fastadmin中使用phpExcel导出表格数据到excel中 虽然说fastadmin中表格自带导出excel,但是那个东西忒不好用了,每次点击导出,就刷新表格,默认最近七天的数据,所以无奈之下只好另寻办法了,废话不多说,接下来说一下phpExcel的使用: 一,下载phpExcel git clone https://github.com/PHPOffice/PHPExcel 完成之后会出现以下以下的文件夹 这个被更名的文件夹内部目录如下: 二,把上图圈住的那个PHPExcel文件夹拷贝到你的项目中 三,在你的控制器中添加导出方法... 阅读详情

  很多文章都有提到关于使用phpExcel实现Excel数据的导入导出,大部分文章都差不多,或者就是转载的,都会出现一些问题,下面是本人研究phpExcel的使用例程总结出来的使用方法,接下来直接进入正题。

  首先先说一下,本人的这段例程是使用在Thinkphp的开发框架上,要是使用在其他框架也是同样的方法,很多人可能不能正确的实现Excel的导入导出,问题基本上都是phpExcel的核心类引用路径出错,如果有问题大家务必要对路劲是否引用正确进行测试。

(一)导入Excel

第一,在前台html页面进行上传文件:如:

<form method="post" action="php文件" enctype="multipart/form-data">
         <h3>导入Excel表:</h3><input  type="file" name="file_stu" />

           <input type="submit"  value="导入" />
</form>

第二,在对应的php文件进行文件的处理

 if (! empty ( $_FILES ['file_stu'] ['name'] )) 

 {
    $tmp_file = $_FILES ['file_stu'] ['tmp_name'];
    $file_types = explode ( ".", $_FILES ['file_stu'] ['name'] );
    $file_type = $file_types [count ( $file_types ) - 1];

     /*判别是不是.xls文件,判别是不是excel文件*/
     if (strtolower ( $file_type ) != "xls")              
    {
          $this->error ( '不是Excel文件,重新上传' );
     }

    /*设置上传路径*/
     $savePath = SITE_PATH . '/public/upfile/Excel/';

    /*以时间来命名上传的文件*/
     $str = date ( 'Ymdhis' ); 
     $file_name = $str . "." . $file_type;

     /*是否上传成功*/
     if (! copy ( $tmp_file, $savePath . $file_name )) 
      {
          $this->error ( '上传失败' );
      }

    /*

       *对上传的Excel数据进行处理生成编程数据,这个函数会在下面第三步的ExcelToArray类中

      注意:这里调用执行了第三步类里面的read函数,把Excel转化为数组并返回给$res,再进行数据库写入

    */
  $res = Service ( 'ExcelToArray' )->read ( $savePath . $file_name );

   /*

        重要代码 解决Thinkphp M、D方法不能调用的问题   

        如果在thinkphp中遇到M 、D方法失效时就加入下面一句代码

    */
   //spl_autoload_register ( array ('Think', 'autoload' ) );

   /*对生成的数组进行数据库的写入*/
   foreach ( $res as $k => $v ) 
   {
       if ($k != 0) 
      {
           $data ['uid'] = $v [0];
           $data ['password'] = sha1 ( '111111' );
           $data ['email'] = $v [1];

           $data ['uname'] = $v [3];

          $data ['institute'] = $v [4];
         $result = M ( 'user' )->add ( $data );
         if (! $result) 
         {
              $this->error ( '导入数据库失败' );
          }
      }
   }

}

 第三:ExcelToArrary类,用来引用phpExcel并处理Excel数据的

class ExcelToArrary extends Service{

 public function __construct() {

     /*导入phpExcel核心类    注意 :你的路径跟我不一样就不能直接复制*/
     include_once('./Excel/PHPExcel.php');
 }

/**

* 读取excel $filename 路径文件名 $encode 返回数据的编码 默认为utf8

*以下基本都不要修改

*/ 

public function read($filename,$encode='utf-8'){

          $objReader = PHPExcel_IOFactory::createReader('Excel5'); 

          $objReader->setReadDataOnly(true); 

          $objPHPExcel = $objReader->load($filename); 

          $objWorksheet = $objPHPExcel->getActiveSheet(); 

    $highestRow = $objWorksheet->getHighestRow(); 
    $highestColumn = $objWorksheet->getHighestColumn(); 
      $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); 
      $excelData = array(); 
    for ($row = 1; $row <= $highestRow; $row++) { 
        for ($col = 0; $col < $highestColumnIndex; $col++) { 
                 $excelData[$row][] =(string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
           } 
         } 
        return $excelData; 

    }     

 }

第四,以上就是导入的全部内容,phpExcel包附在最后。

(二)Excel的导出(相对于导入简单多了)

第一,先查出数据库里面要生成Excel的数据,如:

$data= M('User')->findAll();   //查出数据
$name='Excelfile';    //生成的Excel文件文件名
$res=service('ExcelToArrary')->push($data,$name);

第二,ExcelToArrary类,用来引用phpExcel并处理数据的    

class ExcelToArrary extends Service{

       public function __construct() {

              /*导入phpExcel核心类    注意 :你的路径跟我不一样就不能直接复制*/
               include_once('./Excel/PHPExcel.php');
       }

     /* 导出excel函数*/
    public function push($data,$name='Excel'){

          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['uid'])    
                          ->setCellValue('B'.$num, $v['email'])
                          ->setCellValue('C'.$num, $v['password'])
            }

            $objPHPExcel->getActiveSheet()->setTitle('User');
            $objPHPExcel->setActiveSheetIndex(0);
             header('Content-Type: application/vnd.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;
      }

       第三,以上就是导出的全部内容,phpExcel包附在最后。

       我的优快云下载地址,不需要积分http://download.youkuaiyun.com/detail/tsunlight/4124415

使用 PHPExcel 将数据导入数据库 假设我们要导入的数据包含在名为 “data.xlsx” 的 Excel 文件中,并且我们有一个名为 “users” 的数据库表,其中包含 “name” 和 “email” 列。您可以使用 PHPExcel 将 Excel 文件中的数据导入到数据库中,以便进行进一步的处理或分析。通过遵循上述步骤,您可以轻松地将 Excel 文件中的数据导入到数据库中,并进一步处理或分析这些数据。如果一切顺利,您将看到一个成功的消息,并且数据将被导入到数据库中。此外,根据您的实际情况,您可能需要调整列的索引(例如, 阅读详情

相关推荐

PHPExcel:PHP操作Excel的完全指南

本文还有配套的精品资源,点击获取 简介: phpexcel 库让PHP开发者可以轻松读写Excel文件,无需外部软件转换。本文详细介绍了如何安装、创建、读取、写入以及处理复杂Excel数据,包括合并单元格、工作表管理、数据验证和性能优化。该库支持 .xls 和 .xlsx 格式,提供丰富的API以及内存和性能优化技巧,是数据导入导出...

weixin_42584758的博客 3547

PHPExcel 表格导入数据

PHPExcel导入数据

码农挚友的博客 573

PLUS模型土地利用变化模拟使用简介

因子包括自然因子如社会因子,通过计算整理得到新图层,并以tif文件输出到驱动因子的文件夹里,驱动因子文件夹里存放的是tif文件格式。线性回归使用提供的所有的LULC资源数据,可以选择往后预测的年数,选择好数据之后,可以得出预测的每一年的每一用地类型面积数据。在此过程之后,可以继续使用此CARS输入的数据继续模拟,也可返回二(3)中CARS模块,重新输入不同的年份预测。在此过程之后,可以继续使用此CARS输入的数据继续模拟,也可返回二(3)中CARS模块,重新输入不同的年份预测。

qq_42831270的博客 5806

使用PHP技术导入Excel文件的技术指南

在这篇文章中,我们将详细介绍如何使用PHP技术来导入Excel文件,以便您可以从外部源(如电子表格)中提取和处理数据。导入Excel数据在Web应用程序中是一个常见任务,这篇文章将为您提供完整的代码示例,以便您能够轻松地执行这一任务。

理论都是虚的,代码才是王道。 1145

MuJoCo 机械臂关节空间阻抗控制Impedance实现(附代码)

阻抗控制通过调整关节的刚度和阻尼,让机器人在接触时产生顺应性,减少冲击力,其核心目标是在接触外部载荷时能够自适应调整输出力矩,实现力与位置的协同控制。阻抗控制可以很快的到达设定位置,在此基础上,使用mujoco交互中的施加外力操作,可以看到当外力松开后,机械臂也可以很快的回弹回设定位置。其中self.Kp和self.Kd为固定刚度和阻尼系数,通过修改刚度和阻尼参数,可以变得更柔顺来应对各种场景。注释掉该行后,直接simulate仿真可以看到机械臂控制位置震荡等情况,接下来引入关节空间阻抗控制的代码。

darcsdn 1271

MTK Linux DRM分析(八)- KMS drm_crtc.c

CRTC 在 Linux DRM 子系统中是显示控制的核心,负责时序生成、模式设置和管线的调度。理解其工作原理和 API 对于进行底层图形开发、调试显示问题或 simply understanding how your graphics stack works 都至关重要。

iTom1900 1349

PHPExcel导入导出操作总结

目录一、安装二、导入操作1、实例化读取类2、读取文件3、获取工作表4、获取总行数5、获取单元格的值6、时间格式转换三、导出操作1、实例化Excel类2、设置excel的属性2、选择工作表3、单元格操作4、导出Excel使用composer将 PhpSpreadsheet 安装到您的项目中: 如果您在开发机器上构建安装,而该开发机器与将要部署它的服务器的 PHP 版本不同,或者如果您的 PHP CLI 版本与运行时不同,例如 Apache的 ,那么您可能需要在安装之前将以下内容添加到您的: 然后运

创作不易,请多支持,将为本站提供更多「有价值的文章」。 1万+

手把手带你搞懂电压跌落测试DIP

砖一用4分钟时间手把手带你搞懂电压跌落测试DIP,希望对你有用~

qq_45508321的博客 7917

php表单导入导出,使用phpExcel实现Excel数据的导入导出(完全步骤)

很多文章都有提到关于使用phpExcel实现Excel数据的导入导出,大部分文章都差不多,或者就是转载的,都会出现一些问题,下面是本人研究phpExcel的使用例程总结出来的使用方法,接下来直接进入正题。首先先说一下,本人的这段例程是使用在Thinkphp的开发框架上,要是使用在其他框架也是同样的方法,很多人可能不能正确的实现Excel的导入导出,问题基本上都是phpExcel的核心类引用路径出错...

weixin_39705065的博客 223

反激电源反馈环路设计:从TL431+PC817原理到动态补偿实战

本文深入解析了反激电源中由TL431和PC817构成的经典反馈环路设计。从静态工作点计算到动态补偿实战,详细阐述了如何通过Type II补偿网络优化环路稳定性与动态响应,并分享了应对光耦CTR离散性、布局噪声等常见调试难题的实用技巧,帮助工程师设计出高性能、高可靠的开关电源。

moon9的博客 699

论文阅读------Exposure Fusion: A Simple and Practical Alternative to High Dynamic Range Photography

Mertens T, Kautz J, Van Reeth F. Exposure fusion: A simple and practical alternative to high dynamic range photography[C]//Computer graphics forum. Oxford, UK: Blackwell Publishing Ltd, 2009, 28(1): 161-171. 摘要 本文提出了一种将包围曝光的序列融合到高质量图像中的技术,而无需先转换为高动态范围(HD.

qq_25283239的博客 3397

ThinkPHP使用phpExcel实现Excel数据的导入导出(真正的完全步骤)

2012-06-08 21:55 ThinkPHP使用phpExcel实现Excel数据的导入导出(真正的完全步骤) 昨日用phpExcel做Excel数据导入mysql,网上找一些材料,发现了这个 http://blog.youkuaiyun.com/tsunlight/article/details/7409166 写的很好,但是作者因为高估了我们这些菜菜的能力,写得比较含糊,本人走了不少弯

一万亿 2万+

26版SPSS操作教程(高级教程第二十一章)

#专注方能成事 #本期内容:信度分析 #由于导师最近布置了学习SPSS这款软件的任务,因此想来平台和大家一起交流下学习经验,这期推送内容接上一次高级教程第二十章的学习笔记,希望能得到一些指正和帮助~

你好! 1709

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

一,Excel文件上传,返回数组 (引入类文件) //添加excel     public function addExcel() { //接收前台文件 $ex = $_FILES['excel']; //重设置文件名 $filename = time().substr($ex['name'],strip

longjef的博客 3万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

laravel框架利用phpExcel实现Excel数据的导入导出

所需要的phpexcel的类在vendor中 导入excel 前端: <form id="xml_config_search" action="upload" method="post" enctype="multipart/form-data"> {{ csrf_field() }} 选择文件:<input type="file" name="fi...

dabao87的博客 1705

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ThinkPHP使用phpExcel实现Excel数据的导入导出

很多文章都有提到关于使用phpExcel实现Excel数据的导入导出,大部分文章都差不多,或者就是转载的,都会出现一些问题,下面是本人研究phpExcel的使用例程总结出来的使用方法,接下来直接进入正题。 首先先说一下,本人的这段例程是使用在Thinkphp的开发框架上,要是使用在其他框架也是同样的方法,很多人可能不能正确的实现Excel的导入导出,问题基本上都是phpExcel的核心类引用

manito_y的专栏 921

PHPExcel 导出 Excel表格中 详细步骤!!!

1. 通过composer下载Excel表格的thinkPHP扩展 composer require phpoffice/phpexcel 下载到了vender/phpoffice/phpexcel 2.下载完成后有一个phpoffice 文件夹 . 3. 把 Classes 文件夹 重命名 成 PHPExcel . 4. 修改后 只要这三个文件夹 其他的...

可爱的狼 6926

ThinkPHP5.1使用PHPExcel进行数据的导入导出

本文已在本人博客https://www.nsxsg.com/archives/192首发 文章目录ThinkPHP5.1使用PHPExcel进行数据的导入导出安装PHPExcel导入数据导出数据 ThinkPHP5.1使用PHPExcel进行数据的导入导出 安装PHPExcel 进入项目目录,使用composer安装PHPExcel composer require phpoffice/p...

Web开发 3182
下一篇: 在thinkphp中批量生成Word并压缩打包下载
转弯的阳光
博客等级 码龄16年 10粉丝 1原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值