黄聪:超实用的PHPExcel[导入][导出]实现方法总结
首先需要去官网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[导入][导出]实现方法总结相关推荐
- 【PHP】【组件使用】【phpexcel】【phpexcel导入导出】
[PHP][组件使用][phpexcel][phpexcel导入导出] 一.前提 PHP 7.3 tp3.2 tp5版本及以上的可能需要修改 二.phpexcel包引入 composer requir ...
- python亿级mysql数据库导出_Python之csv文件从MySQL数据库导入导出的方法
Python之csv文件从MySQL数据库导入导出的方法 发布时间:2020-10-26 07:39:02 来源:脚本之家 阅读:53 作者:张行之 Python从MySQL数据库中导出csv文件处理 ...
- 02 掌握实现数据导入导出的方法 1214
02 掌握实现数据导入导出的方法 1214
- Mozilla 社区 » Thunderbird » Thunderbird 邮件导入导出的方法
原贴:http://mozilla.sociz.com/viewthread.php?tid=1749 Mozilla 社区 » Thunderbird » Thunderbird 邮件导入导出的方法 ...
- thinkphp5 使用PHPExcel 导入导出
首先下载PHPExcel类.网上很多,自行下载. 然后把文件放到vendor文件里面. 一般引用vendor里面的类或者插件用vendor(); 里面加载的就是vendor文件,然后想要加载哪个文件, ...
- PHPExcel导入导出常用方法总结
最近公司后台管理系统需求,要用PHP导出excel表格数据,所以特整理了一下常用的方法供大家参考: PHPExcel扩展包地址:https://github.com/wanqianworld/phpe ...
- thinkphp6 + phpexcel 导入导出数据,设置特殊表格
第一步:安装excel,使用composer安装,我的是在window下,直接cmd切换到项目下面,输入 composer require phpoffice/phpexcel,然后就等待安装完成.如 ...
- phpexcel导入导出(轻量) 淘宝导入
excel单元格数字变成字符串方法 '1001010002400000,数值前加单引号 当excel文件中的数据设置过,导入的数据和excel显示的不同,单个修改数据个单元格格式又很麻烦,这时把exc ...
- oracle数据导出方法,oracle多种导入导出数据方法
dmp格式: 1.dmp格式的导出可以通过客户端工具(PL/SQL)操作来完成,通过菜单栏---->Tools---->Export Tables,然后设置勾选相应参数即可,rows代表是 ...
最新文章
- Linux下rz命令和sz命令使用方法
- python用法查询笔记_Python学习笔记 - 2 - PyCharm的基本使用
- python读取nc文件并转换成csv_如何使用Python读取NetCDF文件并写入CSV
- 012 基于以太访的本地文件hash存储查找Dapp实例(合约安装部署)
- Python 3.4中文编码
- hadoop+hbase安装
- CRC8算法的解读,以及在E2E通信保护的应用
- h5+hbuilder 制作手机app
- 学习笔记-部署和管理DPM 2016-04文件和应用程序保护
- nfc pm3 模拟加密门禁卡_关于nfc模拟加密门禁卡详细教程(后附软件链接)
- dos 查看wifi 密码命令
- 抗疫先锋 | 滴滴云携手你我,一起战“疫”,共克时艰
- 挖掘机技术到底哪家强?这个问题终于有答案了!!
- trc20地址监听php,Tron/USDT-TRC20 PHP开发包
- 什么是IP地址?IPV6和IPV4的区别-一个初学小白的笔记
- 罗永浩:重新定义“微信”,子弹短信爬到AppStore第1?
- 最详细tron节点搭建同步教程
- 多pass毛发制作愤怒的小鸡儿
- 国服ps4如何修改服务器地址,国服ps4如何修改服务器地址
- java前叉断裂_前交叉韧带断裂保守治疗经典病例
热门文章
- Python文本整理案例分析:《全唐诗》文本整理
- 周金涛老师对晚辈说的话
- Kali Linux无法联网的解决办法(亲测有效)
- 每天一个kali无线命令--airmon-ng
- C / C++ 以Dijkstra为基础求最短路径及行进路线 伪代码及源代码
- 关于如何访问当前页面所在的iframe属性
- javaEE+ssm医院固定资产设备仪器采购管理系统springboot
- 移动电子商务≠移动购物,前者远远大于后者
- 开放平台openapi技术实现要点
- bootstrap-table的使用(3)--自定义搜索功能,数据库查询一个时间段内的内容并显示为例