PHPExcel超基础教程

1.如何下载PHPExcel插件

要求:PHP版本不能太低,否则可能会有适配问题,最好5.3以上
去官网下载插件:https://github.com/PHPOffice/PHPExcel.git

下载完成后我们只需要里面的Classes目录文件,包含类库以及相关实例
将其改名为PHPExcel

2.使用PHPExcel

  1. 一个表格对应一个PHPExcel实例化对象,因此想导出数据就得先创建一个表格,即创建一个实例化对象:
require("./PHPExcel/PHPExcel.php");
$obj = new PHPExcel();   
  1. 每个表格里面可以创建多个内置表(即sheet),因此需要在各个内置表中切换。创建切换内置表总共需要使用三个方法,如下:

1)createSheet() //创建一个内置表

2)setActiveSheetIndex() //设置当前活跃的(需要操作的)内置表

3)getActiveSheet //获取当前活跃内置表操作对象

3.填充表格数据
1)傻白甜填法:
每一个setCellValue方法都是设置同一行的数据,如下则默认填充某行第一格和第二格数据

$objSheet->setCellValue('A1','姓名')->setCellValue('B1','年龄');
$objSheet->setCellValue('A2','MClink')->setCellValue('B2','18');
$objSheet->setCellValue('A3','MClink2')->setCellValue('B3','19');

结果如下:

姓名年龄
MClink18
MClink219

2)数组填充法

   $array = [
		['姓名','年龄'],  //第一行
		['Mlcink','18'],  //第二行
		['Crayon','99']   //第三行
	];
	$objSheet->fromArray($array);

结果如下:

姓名年龄
MClink18
Crayon99

其中最大的数组指定的是当前sheet,即当前活跃sheet可以看成一个大array,然后PHPExcel会按顺序读取这个大数组里面的每一个数组,即使为空。所以如果想让第一行空着不填,给个空数组即可。

两种填充方式其实各有优点:

  傻白甜填法对于一些需要样式的单元格来说更有优势,而且对于一些数据量较大的表格,如果采用数组填充法,一次性载入那么大的数据,很容易造成内存不足,导致PHP脚本终止。所以,具体情况还得具体分析使用。

4.保存修改,生成文件

 $objWriter = PHPExcel_IOFactory::createWriter($obj,'Excel2007');//参数写入
 $objWriter->save('./demo.xlsx');//保存到当前目录的demo.xlsx中

给一个较为完整的小栗子:

在默认情况下,当我们创建好一个excel对象后,会自动生成一个sheet,也是当前活跃的sheet,因此我们可以直接获取sheet对象

<?php
	require("./PHPExcel/PHPExcel.php"); //载入类
	$obj = new PHPExcel();          //实例化PHPExcel工具类
	$objSheet = $obj->getActiveSheet(); //获取当前活跃的sheet的操作对象
	$objSheet->setTitle('demo');//给当前的sheet创建名称
	// $objSheet->setCellValue('A1','姓名')->setCellValue('B1','年龄');
	// $objSheet->setCellValue('A2','Mclink')->setCellValue('B2','18');
	$array = [
		['姓名','年龄'],
		['Mlcink','18'],
		['Crayon','99']
	];
	$objSheet->fromArray($array);
    $objWriter = PHPExcel_IOFactory::createWriter($obj,'Excel2007');//参数写入
    $objWriter->save('./demo2.xlsx');//保存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MClink

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值