首先需要去官网https://github.com/PHPOffice/PHPExcel/下载PHPExcel,下载后只需要Classes目录下的文件即可。

1、PHPExcel导出方法实现过程

/** * 数据导出 * @param array $title   标题行名称 * @param array $data   导出数据 * @param string $fileName 文件名 * @param string $savePath 保存路径 * @param $type   是否下载  false--保存   true--下载 * @return string   返回文件全路径 * @throws PHPExcel_Exception * @throws PHPExcel_Reader_Exception */
function exportExcel($title=array(), $data=array(), $fileName='', $savePath='./', $isDown=false){  include('PHPExcel.php');  $obj = new PHPExcel();  //横向单元格标识  $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');  $obj->getActiveSheet(0)->setTitle('sheet名称');   //设置sheet名称  $_row = 1;   //设置纵向单元格标识  if($title){  $_cnt = count($title);  $obj->getActiveSheet(0)->mergeCells('A'.$_row.':'.$cellName[$_cnt-1].$_row);   //合并单元格  $obj->setActiveSheetIndex(0)->setCellValue('A'.$_row, '数据导出:'.date('Y-m-d H:i:s'));  //设置合并后的单元格内容  $_row++;  $i = 0;  foreach($title AS $v){   //设置列标题  $obj->setActiveSheetIndex(0)->setCellValue($cellName[$i].$_row, $v);  $i++;  }  $_row++;  }  //填写数据  if($data){  $i = 0;  foreach($data AS $_v){  $j = 0;  foreach($_v AS $_cell){  $obj->getActiveSheet(0)->setCellValue($cellName[$j] . ($i+$_row), $_cell);  $j++;  }  $i++;  }  }  //文件名处理  if(!$fileName){  $fileName = uniqid(time(),true);  }  $objWrite = PHPExcel_IOFactory::createWriter($obj, 'Excel2007');  if($isDown){   //网页下载  header('pragma:public');  header("Content-Disposition:attachment;filename=$fileName.xls");  $objWrite->save('php://output');exit;  }  $_fileName = iconv("utf-8", "gb2312", $fileName);   //转码  $_savePath = $savePath.$_fileName.'.xlsx';  $objWrite->save($_savePath);  return $savePath.$fileName.'.xlsx';
}  //exportExcel(array('姓名','年龄'), array(array('a',21),array('b',23)), '档案', './', true); 

2、PHPExcel导入方法实现过程

/**
*  数据导入
* @param string $file excel文件
* @param string $sheet * @return string   返回解析数据 * @throws PHPExcel_Exception * @throws PHPExcel_Reader_Exception
*/
function importExecl($file='', $sheet=0){  $file = iconv("utf-8", "gb2312", $file);   //转码  if(empty($file) OR !file_exists($file)) {  die('file not exists!');  }  include('PHPExcel.php');  //引入PHP EXCEL类  $objRead = new PHPExcel_Reader_Excel2007();   //建立reader对象  if(!$objRead->canRead($file)){  $objRead = new PHPExcel_Reader_Excel5();  if(!$objRead->canRead($file)){  die('No Excel!');  }  }  $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');  $obj = $objRead->load($file);  //建立excel对象  $currSheet = $obj->getSheet($sheet);   //获取指定的sheet表  $columnH = $currSheet->getHighestColumn();   //取得最大的列号  $columnCnt = array_search($columnH, $cellName);  $rowCnt = $currSheet->getHighestRow();   //获取总行数  $data = array();  for($_row=1; $_row<=$rowCnt; $_row++){  //读取内容  for($_column=0; $_column<=$columnCnt; $_column++){  $cellId = $cellName[$_column].$_row;  $cellValue = $currSheet->getCell($cellId)->getValue();  //$cellValue = $currSheet->getCell($cellId)->getCalculatedValue();  #获取公式计算的值  if($cellValue instanceof PHPExcel_RichText){   //富文本转换字符串  $cellValue = $cellValue->__toString();  }  $data[$_row][$cellName[$_column]] = $cellValue;  }  }  return $data;
}  

版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/u014236259/article/details/60601767

转载于:https://www.cnblogs.com/huangcong/p/8540729.html

黄聪:超实用的PHPExcel[导入][导出]实现方法总结相关推荐

  1. 【PHP】【组件使用】【phpexcel】【phpexcel导入导出】

    [PHP][组件使用][phpexcel][phpexcel导入导出] 一.前提 PHP 7.3 tp3.2 tp5版本及以上的可能需要修改 二.phpexcel包引入 composer requir ...

  2. python亿级mysql数据库导出_Python之csv文件从MySQL数据库导入导出的方法

    Python之csv文件从MySQL数据库导入导出的方法 发布时间:2020-10-26 07:39:02 来源:脚本之家 阅读:53 作者:张行之 Python从MySQL数据库中导出csv文件处理 ...

  3. 02 掌握实现数据导入导出的方法 1214

    02 掌握实现数据导入导出的方法 1214

  4. Mozilla 社区 » Thunderbird » Thunderbird 邮件导入导出的方法

    原贴:http://mozilla.sociz.com/viewthread.php?tid=1749 Mozilla 社区 » Thunderbird » Thunderbird 邮件导入导出的方法 ...

  5. thinkphp5 使用PHPExcel 导入导出

    首先下载PHPExcel类.网上很多,自行下载. 然后把文件放到vendor文件里面. 一般引用vendor里面的类或者插件用vendor(); 里面加载的就是vendor文件,然后想要加载哪个文件, ...

  6. PHPExcel导入导出常用方法总结

    最近公司后台管理系统需求,要用PHP导出excel表格数据,所以特整理了一下常用的方法供大家参考: PHPExcel扩展包地址:https://github.com/wanqianworld/phpe ...

  7. thinkphp6 + phpexcel 导入导出数据,设置特殊表格

    第一步:安装excel,使用composer安装,我的是在window下,直接cmd切换到项目下面,输入 composer require phpoffice/phpexcel,然后就等待安装完成.如 ...

  8. phpexcel导入导出(轻量) 淘宝导入

    excel单元格数字变成字符串方法 '1001010002400000,数值前加单引号 当excel文件中的数据设置过,导入的数据和excel显示的不同,单个修改数据个单元格格式又很麻烦,这时把exc ...

  9. oracle数据导出方法,oracle多种导入导出数据方法

    dmp格式: 1.dmp格式的导出可以通过客户端工具(PL/SQL)操作来完成,通过菜单栏---->Tools---->Export Tables,然后设置勾选相应参数即可,rows代表是 ...

最新文章

  1. Linux下rz命令和sz命令使用方法
  2. python用法查询笔记_Python学习笔记 - 2 - PyCharm的基本使用
  3. python读取nc文件并转换成csv_如何使用Python读取NetCDF文件并写入CSV
  4. 012 基于以太访的本地文件hash存储查找Dapp实例(合约安装部署)
  5. Python 3.4中文编码
  6. hadoop+hbase安装
  7. CRC8算法的解读,以及在E2E通信保护的应用
  8. h5+hbuilder 制作手机app
  9. 学习笔记-部署和管理DPM 2016-04文件和应用程序保护
  10. nfc pm3 模拟加密门禁卡_关于nfc模拟加密门禁卡详细教程(后附软件链接)
  11. dos 查看wifi 密码命令
  12. 抗疫先锋 | 滴滴云携手你我,一起战“疫”,共克时艰
  13. 挖掘机技术到底哪家强?这个问题终于有答案了!!
  14. trc20地址监听php,Tron/USDT-TRC20 PHP开发包
  15. 什么是IP地址?IPV6和IPV4的区别-一个初学小白的笔记
  16. 罗永浩:重新定义“微信”,子弹短信爬到AppStore第1?
  17. 最详细tron节点搭建同步教程
  18. 多pass毛发制作愤怒的小鸡儿
  19. 国服ps4如何修改服务器地址,国服ps4如何修改服务器地址
  20. java前叉断裂_前交叉韧带断裂保守治疗经典病例

热门文章

  1. Python文本整理案例分析:《全唐诗》文本整理
  2. 周金涛老师对晚辈说的话
  3. Kali Linux无法联网的解决办法(亲测有效)
  4. 每天一个kali无线命令--airmon-ng
  5. C / C++ 以Dijkstra为基础求最短路径及行进路线 伪代码及源代码
  6. 关于如何访问当前页面所在的iframe属性
  7. javaEE+ssm医院固定资产设备仪器采购管理系统springboot
  8. 移动电子商务≠移动购物,前者远远大于后者
  9. 开放平台openapi技术实现要点
  10. bootstrap-table的使用(3)--自定义搜索功能,数据库查询一个时间段内的内容并显示为例