php上传excel表格并获取数据


Posted in PHP onApril 27, 2017

这个是最近需要做的一个功能,在网上也查看了很多相关的文章,基本上大同小异,在这里整理一下。

一:首先是html部分

<html>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" /> 
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

二:就是去接收和处理上传的文件了。php部分

//文件存放的路径
$save_path = "/upload/"; 

//文件存放的文件夹
$save_files = $this->geturl();

这个是以年月日新建的文件夹,仅供参考。

//先检查当前文件夹是否存在,如不存在,创建文件夹
function geturl()
{
$year = date('Y');
$month= date('m');
$day= date('d');

$str = $year.$month.$day;
if(strtoupper(substr(PHP_OS,0,3))=='WIN'){
$path = getcwd() . "/upload/".$str;
}else{
$path = "/mnt/erp/".$str;
}
if(!file_exists($path))//判断文件夹是否存在
{
mkdir($path);
}

//return $path."/";
return $str."/";
}

//这个是上传文件到需要保存的位置,
if (!@move_uploaded_file($_FILES[$upload_name]["tmp_name"], $save_path.$file_path)) {
$error = "error|上传文件错误.";
exit(0);
}

下面开始获取你上传的excel数据了

//获取上传表格的数据
$file_name = $save_path.$file_path;    //获取上传文件的地址名称
require_once APPPATH . 'views/IDC/config/PHPExcel.php'; 
require_once APPPATH . 'views/IDC/config/PHPExcel/IOFactory.php';
require_once APPPATH . 'views/IDC/config/PHPExcel/Cell.php';

$objReader = PHPExcel_IOFactory::createReader('excel2007'); //建立reader对象

$objPHPExcel = $objReader->load($file_name);
$sheet = $objPHPExcel->getSheet();
$highestRow = $sheet->getHighestDataRow(); // 取得总行数

$highestColumn_num = PHPExcel_Cell::columnIndexFromString($sheet->getHighestDataColumn()); //列数

//$columns = PHPExcel_Cell::getColumn($highestColumn_num);
$columns = array('A','B','C','D','E','F','G');

$arr_result = array();
$dealer_element = array();

for ($j = 2; $j <= $highestRow; $j++) {
for ($k = 0; $k < count($columns); $k++) {
//读取单元格
$value = $objPHPExcel->getActiveSheet()->getCell($columns[$k] . $j)->getValue();//这个就是获取每个单元格的值

$value = trim($value);
if (empty($value)) {
$value = NULL;
}
$dealer_element[$k] = $value;
//这里可以根据要求,做一些数据的验证
}

$arr_result[$j] = $dealer_element;
}
echo json_encode($arr_result);

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木

PHP 相关文章推荐
php学习笔记 数组遍历实现代码
Jun 09 PHP
php摘要生成函数(无乱码)
Feb 04 PHP
php强制更新图片缓存的方法
Feb 11 PHP
PHP实现WebService的简单示例和实现步骤
Mar 27 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
PHP实现清除wordpress里恶意代码
Oct 21 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
PHP laravel中的多对多关系实例详解
Jun 07 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
PHP代码重构方法漫谈
Apr 17 PHP
php插入mysql数据返回id的方法
May 31 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
Mar 06 PHP
PHP基于SMTP协议实现邮件发送实例代码
Apr 27 #PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 #PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 #PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 #PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 #PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 26 #PHP
php编程实现简单的网页版计算器功能示例
Apr 26 #PHP
You might like
smarty实例教程
2006/11/19 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
2019/05/30 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
[36:05]完美世界DOTA2联赛循环赛 Forest vs DM 第一场 11.06
2020/11/06 DOTA
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
keras得到每层的系数方式
2020/06/15 Python
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
自荐信怎么写好
2013/11/11 职场文书
书法培训心得体会
2014/01/05 职场文书
校园歌手大赛策划书
2014/01/17 职场文书
俞敏洪励志演讲稿
2014/04/29 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python