使用PHPExcel导入导出excel格式文件

使用PHPExcel导入导出excel格式文件

作者:zccst

由于导出使用较多,下面是导出实现过程。

第一步,将PHPExcel的源代码复制到项目的lib下

文件包括:PHPExcel.php 和 文件夹PHPExcel

源代码见附件

注1:源代码是zip格式,能在windows和linux通用。

注2:PHPExcel.zip是干净代码,可以直接引用。PHPExcel2.zip有svn记录,不适合直接引用。

第二步:在需要导出的handler页面中引用

1,在头部引入三个文件

Php代码  

  1. //设置环境变量(新增PHPExcel)
  2. set_include_path(‘.‘. PATH_SEPARATOR . Yii::app()->basePath.‘/lib/PHPExcel‘ . PATH_SEPARATOR . get_include_path());
  3. //注:在yii中,也可以直接Yii::import(“application.lib.PHPExcel.*”);
  4. //引入PHPExcel相关文件
  5. require_once "PHPExcel.php";
  6. require_once ‘PHPExcel/IOFactory.php‘;
  7. require_once ‘PHPExcel/Writer/Excel5.php‘;

2,将数据放入excel表格中

Php代码  

  1. //新建
  2. $resultPHPExcel = new PHPExcel();
  3. //设置参数
  4. //设值
  5. $resultPHPExcel->getActiveSheet()->setCellValue(‘A1‘, ‘季度‘);
  6. $resultPHPExcel->getActiveSheet()->setCellValue(‘B1‘, ‘名称‘);
  7. $resultPHPExcel->getActiveSheet()->setCellValue(‘C1‘, ‘数量‘);
  8. $i = 2;
  9. foreach($data as $item){
  10. $resultPHPExcel->getActiveSheet()->setCellValue(‘A‘ . $i, $item[‘quarter‘]);
  11. $resultPHPExcel->getActiveSheet()->setCellValue(‘B‘ . $i, $item[‘name‘]);
  12. $resultPHPExcel->getActiveSheet()->setCellValue(‘C‘ . $i, $item[‘number‘]);
  13. $i ++;
  14. }

3,设置导出的一些参数

版本一:

Php代码  

  1. //设置导出文件名
  2. $outputFileName = ‘total.xls‘;
  3. $xlsWriter = new PHPExcel_Writer_Excel5($resultPHPExcel);
  4. //ob_start();  ob_flush();
  5. header("Content-Type: application/force-download");
  6. header("Content-Type: application/octet-stream");
  7. header("Content-Type: application/download");
  8. header(‘Content-Disposition:inline;filename="‘.$outputFileName.‘"‘);
  9. header("Content-Transfer-Encoding: binary");
  10. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  11. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  12. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  13. header("Pragma: no-cache");
  14. $xlsWriter->save( "php://output" );

版本二:

Php代码  

  1. $writer = PHPExcel_IOFactory::createWriter($resultPHPExcel, ‘Excel5‘);
  2. $writer->setTempDir(Yii::app()->basePath.‘/runtime‘);
  3. $filename = "单.xls";
  4. header("Pragma: public");
  5. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  6. header("Content-Type: application/force-download");
  7. header(‘Content-Type: application/vnd.ms-excel‘);
  8. header(‘Content-Disposition: attachment;filename="‘ . $filename . ‘"‘);
  9. header(‘Cache-Control: max-age=0‘);
  10. $writer->save(‘php://output‘);

4,增加附件(非必需)

Php代码  

  1. $objPHPExcel    = new PHPExcel();
  2. $objReader = PHPExcel_IOFactory::createReader(‘Excel5‘);
  3. $objReader->setReadDataOnly(true);
  4. foreach($data2 as $item){
  5. $fp = dirname(__FILE__) . "/../../../" . $item[‘file_path‘] ;
  6. $objPHPExcel = $objReader->load($fp);
  7. $objWorksheet = $objPHPExcel->getActiveSheet();
  8. $resultPHPExcel->addExternalSheet($objWorksheet);
  9. }

高级主题

1,excel5与excel2007区别

zipArchive.php

有很多php(php.ini)不支持excel2007,所以建议使用excel5。

2,设置临时文件位置

如果报临时文件名错,则更改临时文件路径

xlsWriter.setDirName(Yii::app()->basePath.‘/runtime‘);

3,设置excel单元格的格式

过滤

4,输出有错。

默认$xlsWriter->save( "php://output" );可能因为缓存不够大,而显示不完整,所以做个中转,方式如下:

Php代码  

  1. $finalFileName = (Yii::app()->basePath.‘/runtime/‘.time().‘.xls‘;
  2. $xlsWriter->save($finalFileName);
  3. echo file_get_contents($finalFileName);  //file_get_contents() 函数把整个文件读入一个字符串中。和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串。

使用PHPExcel导入导出excel格式文件,布布扣,bubuko.com

时间: 2024-07-30 16:06:26

使用PHPExcel导入导出excel格式文件的相关文章

ASP.NET Core 导入导出Excel xlsx 文件

ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Linux和Mac. EPPlus.Core 是基于EPPlus 更改而来,在Linux 下需要安装libgdiplus . EPPlus:http://epplus.codeplex.com/ EPPlus.Core:https://github.com/VahidN/EPPlus.Core 下面在A

将页面中表格数据导出excel格式的文件(vue)

近期由于项目需要,需要将页面中的表格数据导出excel格式的文件,折腾了许久,在网上各种百度,虽然资料不少,但是大都不全,踩了许多坑,总算是皇天不负有心人,最后圆满解决了. 1.安装相关依赖(npm安装可能会出现某些错误,可以使用cnpm): npm install file-saver --save // 保存文件用 npm install xlsx --save // 转二进制用 npm install script-loader --save-dev // xlsx核心文件 2.下载两个核

asp.net core web的导入导出excel功能

这里主要记录下asp.net core web页面上进行导入导出excel的操作. 主要是导入,因为现在使用的很多前端框架(例如kendo ui)本身就有导出的功能. 这里使用到EPPlus.Core,其实对于excel的导入导出还可以使用NPOI, 这里讲解EPPlus的方式 1.创建asp.net core web (mvc)项目 效果图如下 2.在项目上右键,进入nuget管理器,安装EPPlus.Core 3.添加一个XlsxController控制器,在其中添加导入和导出功能 usin

(C#)利用Aspose.Cells组件导入导出excel文件

Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: [csharp] view plain copy print? public static System.Data.DataTable ReadExcel(String strFileName) { Workbook book = new Workbook(); book.Open(strFileName); Worksheet sheet = book.Worksheets[0]; Cells cells = 

【转】 (C#)利用Aspose.Cells组件导入导出excel文件

Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: public static System.Data.DataTable ReadExcel(String strFileName) { Workbook book = new Workbook(); book.Open(strFileName); Worksheet sheet = book.Worksheets[0]; Cells cells = sheet.Cells; return cells.Export

将able导出为excel格式文件

html: <table cellpadding="0" cellspacing="0" class="data_table" id="data_table"> <tr> <th>日期</th> <th>星期</th> <th>渠道</th> <th>服务区</th> <th>总用户</th

PHP导入导出excel表格图片(转)

写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wps等进行word等的生成之类的文章 )但是在读的时候,只用过一种,具体是什么忘了,要回去翻代码了.基本上导出的文件分为两种:1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已.修改这种文件后再保存,通常会提示你是否要转换成Excel文件.优

PHPExcel导入导出

慕课教程 -- PHPExcel导入导出 一.PHPExcel导出操作 1.快速入门 <?php #找到当前脚本的路径 $dir = dirname(__FILE__); #引入PHPExcel插件文件 require $dir."/excel/PHPExcel.php"; #实例化PHPExcel类 $objPHPExcel = new PHPExcel(); #获得当前活动sheet的操作对象 $objSheet = $objPHPExcel->getActiveShe

php导入导出excel实例

这里实现的PHP导入导出excel功能用到的是开源PHPExcel,执行下面的操作之前请先下载该类库文件,官方网站:http://www.codeplex.com/PHPExcel,官网案例代码很多,导出pdf什么的都有,这里主要介绍PHP导入导出excel的功能,导出excel文件是office2007格式,同时兼容2003. php导入excel导入的excel文件的数据格式,截图如下:下面是将该excel文件的数据导入到数据库的具体代码 <?php require_once 'Classe