900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > php生成与读取excel文件【PHP】

php生成与读取excel文件【PHP】

时间:2022-08-28 08:57:50

相关推荐

php生成与读取excel文件【PHP】

后端开发|php教程

excel,php,实例

后端开发-php教程

在网站的管理后台经常会使用到报表的生成和读取,CSV和Excel都是常用的报表格式,本文是介绍php生成与读取excel文件,需要的朋友可以来了解一下。

带手机的网址导航源码,vscode 代码颜色插件,360ubuntu,tomcat端口在,编译sqlite为动态库,爬虫时如何不进入屏保,php 局域网访问,企业seo软文发表,仿卷皮网站源码带APP,网页曲线图,织梦全站模板免费下载lzw

在网站中经常会生成表格,CSV和Excel都是常用的报表格式,CSV相对来说比较简单,如果大家有疑问我会相继发布一些CSV的实例,这里主要介绍用PHP来生成和读取Excel文件。

app源码编辑,ubuntu 的中文输入,tomcat后端超时时间,scraping加速爬虫,php网站点不开,seo咨询seo排名优化lzw

要执行下面的函数,首先要引入一个类库:PHPExcel,PHPExcel是一个强大的PHP类库,用来读写不同的文件格式,比如说Excel ,PDF格式,HTML格式等等,这个类库是建立在Microsoft’s OpenXML和PHP 的基础上的,对Excel提供的强大的支持,比如设置工作薄,字体样式,图片以及边框等等,下面来看看它是如何读写Excel文件的:

java微信后台源码,vscode文件命名,ubuntu安装好的qt在哪,修改tomcat网页,sqlite 性能调优,jquery dot 插件官网,前端css预处理框架,网络爬虫为什么重要,php 分辨率,网站seo团队,java交友网站项目,asp代码跳转网页代码大全,新云网站模板,vb测量程序代码lzw

首先来看如果生成Excel文件:

下面这代码中函数arrayToExcel的功能是把一个二维数组的数据生成一个excel文件,并且保存在服务器上。

require_once Classes/PHPExcel/Reader/Excel.php;require_once Classes/PHPExcel/Reader/Excel5.php;include Classes/PHPExcel/IOFactory.php;function arrayToExcel($data){$objPHPExcel = new PHPExcel();$objPHPExcel->setActiveSheetIndex(0);$objPHPExcel->getActiveSheet()->setTitle(firstsheet);$objPHPExcel->getDefaultStyle()->getFont()->setName(Arial);$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);//add data$i = 2;foreach ($data as $line){$objPHPExcel->getActiveSheet()->setCellValue(A.$i, $line[From]);$objPHPExcel->getActiveSheet()->getCell(A.$i)->setDataType( );$objPHPExcel->getActiveSheet()->setCellValue(B.$i, $line[To]);$objPHPExcel->getActiveSheet()->getCell(B.$i)->setDataType( );$i++;}$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, Excel5);$file = excel.xls;$objWriter->save($file);}

如果你不希望保存在服务器上,希望生成以后直接下载到客户端,可以在输出文件的时候加入下面的代码,而不使用 $objWriter->save($file);

代码如下:

header("Pragma: public");header("Expires: 0");header("Cache-Control:must-revalidate, post-check=0, pre-check=0");header("Content-Type:application/force-download");header("Content-Type:application/vnd.ms-execl");header("Content-Type:application/octet-stream");header("Content-Type:application/download");header(Content-Disposition:attachment;filename="excel.xls");header("Content-Transfer-Encoding:binary");$objWriter->save(php://output);

接下来看一个读取Excel文件内容的实例:

下面这代码中函数excelToArray的功能是把一个excel里的内容重新整理放到一个数组了。

代码如下:

require_once Classes/PHPExcel.php;require_once Classes/PHPExcel/IOFactory.php;function excelToArray($file){$objReader = PHPExcel_IOFactory::createReader(Excel5);$objReader->setReadDataOnly(true);$objPHPExcel = $objReader->load($file);$objWorksheet = $objPHPExcel->getActiveSheet();$highestRow = $objWorksheet->getHighestRow();$highestColumn = $objWorksheet->getHighestColumn();$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);$excelData = array();for ($row = 2; $row <= $highestRow; ++$row) {for ($col = 0; $col getCellByColumnAndRow($col, $row)->getValue();}}return $excelData;}

精简办法

代码如下:

<?php/** * * @copyright - Xiaoqiang. * @author Xiaoqiang.Wu * @version 1.01 */error_reporting(E_ALL);date_default_timezone_set(Asia/ShangHai); /** PHPExcel_IOFactory */require_once ../Classes/PHPExcel/IOFactory.php; // Check prerequisitesif (!file_exists("31excel5.xls")) { exit("not found 31excel5.xls.n");}$reader = PHPExcel_IOFactory::createReader(Excel5); //设置以Excel5格式(Excel97-工作簿)$PHPExcel = $reader->load("31excel5.xls"); // 载入excel文件$sheet = $PHPExcel->getSheet(0); // 读取第一??工作表$highestRow = $sheet->getHighestRow(); // 取得总行数$highestColumm = $sheet->getHighestColumn(); // 取得总列数 /** 循环读取每个单元格的数据 */for ($row = 1; $row <= $highestRow; $row++){//行数是以第1行开始 for ($column = A; $column getCell($column.$row)->getValue(); echo $column.$row.":".$sheet->getCell($column.$row)->getValue()."

"; }} ?>

总结:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。