zoukankan      html  css  js  c++  java
  • php中读写excel表格文件示例。

    测试环境:php5.6.24.这块没啥兼容问题。

    需要更多栗子,请看PHPExcel的examples。还是蛮强大的。

    读取excel文件。

    第一步、下载开源的PHPExcel的类库文件,官方网站是http://www.codeplex.com/PHPExcel。里面也有很多示例包。

    第二步、读取的基本代码示例:

    <?php
    require_once 'Classes/PHPExcel.php';
    require_once 'Classes/PHPExcel/IOFactory.php';
    require_once 'Classes/PHPExcel/Reader/Excel5.php';
    
    $file_url = './excel/phpLv.xls';
    $objReader = PHPExcel_IOFactory::createReader('Excel5');
    $objPHPExcel = $objReader->load($file_url);
    //设置当前活动的工作表
    $objPHPExcel->setActiveSheetIndex(1);
    //拿到当前活动的表。以后操作就用这个了。劳资才不喜欢链式操作,太难看了好不啦
    $activeSheet = $objPHPExcel->getActiveSheet();
    //当前表最大行数
    $highestRow = $activeSheet->getHighestRow();
    //当前表最大列数
    $highestColumn = $activeSheet->getHighestColumn();
    
    echo "最大列:$highestColumn";
    echo "最大行:$highestRow";
    echo '<hr/>';
    
    $cell = function ($cell) use ($activeSheet) {
        return $activeSheet->getCell("$cell")->getValue();
    };
    
    $str1 = $cell('A13');
    echo $str1;
    exit;

    导出excel表格文件。

    第一步、同上也是先下载PHPExcel类库文件。

    第二步、导出excel文件的示例代码:

     1 //--------------------------------导出excel文件--------------------------------
     2 require_once './Classes/PHPExcel.php';
     3 $objPHPExcel=new PHPExcel();
     4 //一些关于excel文件的描述。在Classes/PHPExcel/DocumentProperties.php中有更多选项
     5 $prop = $objPHPExcel->getProperties();
     6 $prop->setCreator('sweat_xiaoMa');
     7 $prop->setLastModifiedBy('xiaoma');
     8 $prop->setTitle('Office 2007 XLSX Document');
     9 $prop->setSubject('Office 2007 XLSX Document');
    10 $prop->setDescription('Document for Office 2007 XLSX, generated using PHP classes.');
    11 $prop->setKeywords('office 2007 openxml php');
    12 $prop->setCategory('Result file');
    13 
    14 //设置使用的当前的工作表的索引
    15 $objPHPExcel->setActiveSheetIndex(0);
    16 //然后就可以设置单元格上的内容了。
    17 $activeSheet = $objPHPExcel->getActiveSheet();
    18 $activeSheet->setCellValue('A1','学号');
    19 $activeSheet->setCellValue('B1','年级');
    20 $activeSheet->setCellValue('C1','班级');
    21 $activeSheet->setCellValue('D1','姓名');
    22 $activeSheet->setCellValue('E1','性别');
    23 
    24 //给当前使用的工作表设置标题。
    25 $activeSheet->setTitle('工作表1啦啦啦');
    26 //文件名字。下面的header中用到。
    27 $filename = '学生信息统计表_'.date('Y-m-dHis');
    28 
    29 /*
    30 *生成xlsx文件
    31 */
    32 // header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    33 // header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"');
    34 // header('Cache-Control: max-age=0');
    35 // $objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
    36 
    37 /*
    38 *生成xls文件
    39 */
    40 header('Content-Type: application/vnd.ms-excel');
    41 header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
    42 header('Cache-Control: max-age=0');
    43 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    44 $objWriter->save('php://output');
    45 exit;
  • 相关阅读:
    viso图插入Word中大片空白解决办法
    面向对象设计模式中的单例模式和工厂模式
    面向对象知识整理
    require和include的区别及自动加载的定义
    面向对象的三大特性及定义
    重写和重载的区别 (部分内容转自竹木人)
    面向对象的基本概念
    PHP json_encode( ) 函数介绍
    js页面跳转常用的几种方式
    js中页面刷新和页面跳转的方法总结 [ 转自欢醉同学 ]
  • 原文地址:https://www.cnblogs.com/sweetXiaoma/p/6012818.html
Copyright © 2011-2022 走看看