PHPExcel简易使用教程
在企业里使用PHP进行开发,不可避免总会遇到读/写Excel的需求,遇到这种需求,一般使用PHPExcel类库进行开发。
PHPExcel现在最新版本是1.8.0,最低需要PHP5.2版本,支持读取xls、xlsx、csv等常用的excel格式,下载地址http://phpexcel.codeplex.com/releases/view/119187
1.读取Excel文件
require __DIR__ . '/PHPExcel.php'; $excelReader = PHPExcel_IOFactory::createReader('Excel2007');//设定读取格式
$excel = $excelReader->load(__DIR__ . '/Quadratic.xlsx');//设定读取文件
$sheet = $excel->setActiveSheetIndex(0);//设定excel工作簿
foreach ($sheet->getRowIterator(1) as $row) {
//读取行,从第1行
var_dump('row:' . $row->getRowIndex());//读取行号
$cellIterator = $row->getCellIterator();
foreach ($cellIterator as $cell) {
//读取单元格
var_dump($cell->getColumn());//获取列名
var_dump($cell->getCoordinate());//获取坐标
var_dump($cell->getRow());//获取所在行号
var_dump($cell->isFormula());//判断值是否为公式
var_dump($cell->getValue());//获取值
}
}
2.写入Excel文件
$excel = new PHPExcel();
$sheet = $excel->setActiveSheetIndex('0');//设定写入的工作簿
//写入数据
for ($row = 0; $row < 10; $row++) {
for ($cell = 0; $cell < 5; $cell++) {
$sheet->setCellValueByColumnAndRow($cell, $row, "row:{$row} col:{$cell}");
}
}
$excelWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');//设定保存格式
$excelWriter->save(__DIR__ . '/excel_test.xlsx');//保存文件
3.生成Excel并开始下载
$excel = new PHPExcel();
$sheet = $excel->setActiveSheetIndex('0');//设定写入的工作簿
//写入数据
for ($row = 0; $row < 10; $row++) {
for ($cell = 0; $cell < 5; $cell++) {
$sheet->setCellValueByColumnAndRow($cell, $row, "row:{$row} col:{$cell}");
}
}
$excelWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');//设定保存格式
//开始输出内容至浏览器
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header ('Cache-Control: cache, must-revalidate');
header ('Pragma: public');
$excelWriter->save('php://output');//输出文件
PHPExcel简易使用教程的更多相关文章
- Git GUI简易使用教程
Git GUI简易使用教程:先上图~~~~~ 一. 先从添加文件开始讲(先上图): 1.选中要添加的文件,点击菜单栏的“提交”,选中“缓存为提交”,
- Android简易实战教程--第五十一话《使用Handler实现增加、减少、暂停计数》
转载博客请注明出处:道龙的博客 之前,写过一篇使用异步任务AysncTask实现倒计时的小案例,喜欢的话可以参考博客:Android简易实战教程--第三十三话< AsyncTask异步倒计时&g ...
- Android简易实战教程--第五十话《动画扫描》
祝新年快乐!2017(一起)前行. 转载博客请注明出处:道龙的博客 本篇简答的小案例,使用动画知识,完成一个类似雷达扫描效果,并且加入自定义进度条.对于自定义进度条前面有很详细的解析和案例了,本篇就结 ...
- Android简易实战教程--第十六话《SharedPreferences保存用户名和密码》
之前在Android简易实战教程--第七话<在内存中存储用户名和密码> 那里是把用户名和密码保存到了内存中,这一篇把用户名和密码保存至SharedPreferences文件.为了引起误导, ...
- Web压力测试工具 LoadRunner12.x简易入门教程--(一)回放与录制
LoadRunner12.x简易入门教程--(一)回放与录制 今天在这里分享一下LoadRunner12.x版本的入门使用方法,希望对刚接触LoadRunner的童鞋有所帮助. LoadRun ...
- Qt QBarSeries简易柱状图教程
博客园最强Qt QBarSeries简易柱状图教程 前情提要 每个人的绘图需求不同,此篇教程也是根据需求来改的.我的需求大概如下所示. 通过信号槽的方式接收signals来刷新柱状图,所以每次触发信号 ...
- Webpack简易入门教程
<!-- 其实网上关于webpack的教程已经很多了,但是本人在学习过程中发现很多教程有错误,或者写的很不全面,结果做的过程出现各种各样的问题,对新手不但不友好还会让人浪费很多不必要的时间.所以 ...
- Lua简易入门教程
环境:lua for windows (lfW)主页:http://luaforwindows.luaforge.net/https://code.google.com/p/luaforwindows ...
- Windows Git+TortoiseGit简易使用教程
转载自 http://blog.csdn.net/jarelzhou/article/details/8256139 官方教程:http://tortoisegit.org/docs/tortoise ...
随机推荐
- css3动画、边框、投影知识
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- android中提示&对话框----ProgressDialog&DatePickerDialog &TimePickerDialog&PopupWindow
ProgressDialog(精度条对话框): 1.直接调用ProgressDialog提供的静态方法show()显示 2.创建ProgressDialog,再设置对话框的参数,最后show()出来 ...
- PMI8940 PON (power on) trigger
PMI8940 唯一的 PON input pin 是 SHDN_N, PM8937 的 VREG_L5 會接到 PMI8940 的 SHDN_N, PM8937 負責整個系統的 power on s ...
- msm8917 GPIO Voh(min)
有些 pin 可以當成多種 function, 此例以 GPIO function P3 voltage 為例 Voh(min) = 1.67 - 0.45 = 1.22 V
- DOM和jquery对象之间的转换
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【转载】SQL SERVER 函数大全
SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...
- iOS--子视图如何穿透上层视图响应事件
一.使用方法:- (nullable UIView *)hitTest:(CGPoint)point withEvent:(nullable UIEvent *)event; 二.背景知识iOS系统检 ...
- NewCode
1.[数论]给你N,求不大于N的最大完全平方数. #include<bits/stdc++.h> #define FOR(i,a,b) for(int i=(a),_b=(b);i< ...
- luogu P2434 [SDOI2005]区间
题目描述 现给定n个闭区间[ai, bi],1<=i<=n.这些区间的并可以表示为一些不相交的闭区间的并.你的任务就是在这些表示方式中找出包含最少区间的方案.你的输出应该按照区间的升序排列 ...
- php中int类型在不同平台所占不同字节数理解
1.在不同平台上占字节数与最大值 在32位平台上int占4个字节,在64位平台上int占8个字节,PHP_INT_SIZE 在32位平台上int的最大值2^31 - 1,在64位平台上int最大值2^ ...