zoukankan      html  css  js  c++  java
  • phpexcel的写操作将数据库中的数据导入到excel中

    这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持。于是乎我就将它转化为2003。感觉支持地很好。

    下面介绍一下具体的使用:

    require_once('./phpexcel1.7.3/PHPExcel.php');

    $php_excel_obj = new PHPExcel();

    $php_reader = newPHPExcel_Reader_Excel2007();

    if(!$php_reader->canRead($file_name))

    {

           $php_reader= new PHPExcel_Reader_Excel5();

           if(!$php_reader->canRead($file_name))

           {

                  echo'NO Excel!';

           }

    }

    $php_excel_obj = $php_reader->load($file_name);

    $current_sheet =$php_excel_obj->getSheet(0);

    上面的主要功能是初始化相关的excel类,并装载excel第一个sheet

    $all_column =$current_sheet->getHighestColumn();

    $all_row =$current_sheet->getHighestRow();

    以上分别获得该表格的最大列值(字母表示如:‘G’),和最大的行数(数值表示)

    下面将使用循环来讲excel里面的数据读到excel中:

    $all_arr = array();

    $c_arr = array();

    //字符对照表

    for($r_i = 1; $r_i<=$all_row; $r_i++)

    {

           $c_arr= array();

           for($c_i= 'A'; $c_i<= 'B'; $c_i++)

           {

                  $adr= $c_i . $r_i;

                  $value= $current_sheet->getCell($adr)->getValue();

                  if($c_i== 'A' && empty($value) )

                         break;

                  if(is_object($value))

                         $value= $value->__toString();

                  $c_arr[$c_i]= $value;

           }

           $c_arr&& $all_arr[] =  $c_arr;

    }

    下面简单地介绍一下phpexcel的写操作,这个操作经常用于将数据库中的数据导入到excel中,便于展示和做成更美观的效果。

    require_once('./phpexcel1.7.32881064151/PHPExcel.php');

    $excel_obj = new PHPExcel();

    $objWriter = newPHPExcel_Writer_Excel5($excel_obj); 

    $excel_obj->setActiveSheetIndex(0);

    $act_sheet_obj=$excel_obj->getActiveSheet();

    $act_sheet_obj->setTitle('sheet');

    $act_sheet_obj->setCellValue('A1', '字符串内容');

    $act_sheet_obj->setCellValue('A2', 26);

    $file_name = "output.xls";

    $objWriter->save($file_name);

  • 相关阅读:
    [转].NET委托:一个C#睡前故事
    有关睡觉的学问
    [转]电话号码规范化规则正则表达式
    验证邮件地址的正则表达式
    初学UML之用例图
    没有不可突破的系统……
    生成树协议Spanning Tree Protocol
    两种图片漂浮的代码
    转:静态路由实际应用
    Cisco 2600 NAT 配置 实例
  • 原文地址:https://www.cnblogs.com/cbryge/p/6136630.html
Copyright © 2011-2022 走看看