PHP5.6读写excel表格文件操作示例

本文实例讲述了PHP5.6读写excel表格文件操作。分享给大家供大家参考,具体如下:

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

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

读取excel文件:

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

或者从本站下载:https://www.jb51.net/codes/194070.html

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

<?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文件的示例代码:

//--------------------------------导出excel文件--------------------------------
require_once './Classes/PHPExcel.php';
$objPHPExcel=new PHPExcel();
//一些关于excel文件的描述。在Classes/PHPExcel/DocumentProperties.php中有更多选项
$prop = $objPHPExcel->getProperties();
$prop->setCreator('sweat_xiaoMa');
$prop->setLastModifiedBy('xiaoma');
$prop->setTitle('Office 2007 XLSX Document');
$prop->setSubject('Office 2007 XLSX Document');
$prop->setDescription('Document for Office 2007 XLSX, generated using PHP classes.');
$prop->setKeywords('office 2007 openxml php');
$prop->setCategory('Result file');
//设置使用的当前的工作表的索引
$objPHPExcel->setActiveSheetIndex(0);
//然后就可以设置单元格上的内容了。
$activeSheet = $objPHPExcel->getActiveSheet();
$activeSheet->setCellValue('A1','学号');
$activeSheet->setCellValue('B1','年级');
$activeSheet->setCellValue('C1','班级');
$activeSheet->setCellValue('D1','姓名');
$activeSheet->setCellValue('E1','性别');
//给当前使用的工作表设置标题。
$activeSheet->setTitle('工作表1啦啦啦');
//文件名字。下面的header中用到。
$filename = '学生信息统计表_'.date('Y-m-dHis');
/*
*生成xlsx文件
*/
// header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
// header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"');
// header('Cache-Control: max-age=0');
// $objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
/*
*生成xls文件
*/
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP7新特性简述

    类型声明 看代码,一目了然了. class person { public function age(int $age) : string { return 'Age is ' . $age; } } 命名空间与use关键字批量声明 非混合模式 use Publishers\Packt\{ Book, Ebook, Video}; use function Publishers\Packt\{ getBook, saveBook }; use const Publishers\Packt\{ C

  • php5.6.x到php7.0.x特性小结

    本文总结分析了php5.6.x到php7.0.x特性.分享给大家供大家参考,具体如下: php5.6.x到php7.0.x特性 1.标量类型声明 字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array,self,Class/interface name 2.返回值类型声明 定义参数类型和返回值类型 function test(int $a):int{} 如果不按规定传参会返回异常 3.null合并运算符 null合并运算符 (?

  • 详解PHP5.6.30与Apache2.4.x配置

    首先在Apache官网下载https://www.apachelounge.com/download/ 请确保你的电脑安装有了 若没有安装 请点击 vc_redist_x64/86.exe文件 下载好了 将其解压到自己想要文件夹中 打开conf/httpd.conf文件 这是端口 可根据自己需要进行修改 这是Apache服务访问PHP文件的目录 还有cgi-bin的位置 支持多个默认页 将Apache服务安装到Windows服务中 以管理员身份运行cmd httpd -k install -n

  • php7函数,声明,返回值等新特性介绍

    使用 ... 运算符定义变长参数函数 (PHP 5 >= 5.6.0, PHP 7) 现在可以不依赖 func_get_args(), 使用 ... 运算符 来实现 变长参数函数. <?php function f($req, $opt = null, ...$params) { // $params 是一个包含了剩余参数的数组 printf('$req: %d; $opt: %d; number of params: %d'."\n", $req, $opt, count

  • PHP7新特性之抽象语法树(AST)带来的变化详解

    本文分析了PHP7新特性之抽象语法树(AST)带来的变化.分享给大家供大家参考,具体如下: 这里大部分内容参照 AST 的 RFC 文档而成:https://wiki.php.net/rfc/abstractsyntaxtree,为了易于理解从源文档中节选部分进行介绍. 本文并不会告诉你抽象语法树是什么,这需要你自己去了解,这里只是描述 AST 给 PHP 带来的一些变化. 新的执行过程 PHP7 的内核中有一个重要的变化是加入了 AST.在 PHP5中,从 php 脚本到 opcodes 的执

  • PHP7 新特性详细介绍

    PHP 的学习新特性 最近做的项目使用了 php7,但感觉有很多新特性没有用起来.就想总结一下,一些可能会用到的新特性.之前使用的环境是 php5.4,所有也会有 php5.5 和 php5.6 的特性总结进来,这里只列出我觉得在项目中可能用到的特性,主要内容来自 php手册的附录. Generators (PHP 5 >= 5.5.0, PHP 7) 通过添加 yield 关键字支持了 generators,Generators 提供了一个更简单的方法实现迭代器,不需要实现 Iterator

  • PHP5.6新增加的可变函数参数用法分析

    本文实例讲述了PHP5.6新增加的可变函数参数用法.分享给大家供大家参考,具体如下: 今天无事,看了下PHP手册.发现PHP版本更新增加不少东西.下面就说说其中的PHP5.6更新中新增加的可变函数参数. 代码1: function sum(...$numbers) { $acc = 0; foreach( $numbers as $number ) { $acc += $number; } return $acc; } echo sum(1,2,3,4); 代码1结果: 10 代码1解析: 方法

  • PHP7新特性foreach 修改示例介绍

    一.foreach()循环对数组内部指针不再起作用,在PHP7之前,当数组通过foreach迭代时,数组指针会移动.现在开始,不再如此,见下面代码.. $array = [0, 1, 2]; foreach ($array as &$val) { var_dump(current($array)); } PHP5运行的结果会打印int(1) int(2) bool(false) PHP7运行的结果会打印三次int(0),也就是说数组的内部指针并没有改变. 之前运行的结果会打印int(1), in

  • 浅谈php7的重大新特性

    截止到目前为止,PHP官方已经发布了php7的RC5版本,预计在11月份左右会发布第一个正式版本!现在来说php7的重大特性肯定已经是定型了,不会再有什么变动了.后续一些版本的迭代主要也就是修修bug,优化之类的.下面就来说话我们一直期待的php7会有那些主要的变化了... 新特性预览 ZEND引擎升级到Zend Engine 3,也就是所谓的PHP NG 增加抽象语法树,使编译更加科学 64位的INT支持 统一的变量语法 原声的TLS - 对扩展开发有意义 一致性foreach循环的改进 新增

  • PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结

    本文实例讲述了PHP5.6.8连接SQL Server 2008 R2数据库常用技巧.分享给大家供大家参考,具体如下: 用到的工具: 1.JetBrains PhpStorm (编写php代码工具) 2.SQL Server 2008 R2(数据库) 3.PHP 5.6.X (x86 源于Apache XAMPP 集成) 先了解一下PHP是多少位的及其一些相关线程是否安全的信息. 在PhpStorm新建一个PHP文件里面内容为 <?php /** * Created by PhpStorm. *

  • php7新特性的理解和比较总结

    1. null合并运算符(??) 语法: 如果变量存在且值不为NULL,它就会返回自身的值,否则返回它的第二个操作数. //php7以前 if判断 if(empty($_GET['param'])) { $param = 1; }else{ $param = $_GET['param']; } //php7以前 三元运算符 $param = empty($_GET['param']) ? 1 : $_GET['param']; //PHP7 null合并运算符 $param = $_GET['p

随机推荐