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中的MYSQL常用函数(php下操作数据库必备)
Sep 12 PHP
php中批量替换文件名的实现代码
Jul 20 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
Sep 27 PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 PHP
详解PHP数组赋值方法
Nov 07 PHP
学习php设计模式 php实现访问者模式(Visitor)
Dec 07 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
Nov 16 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
May 16 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
PHP微信网页授权的配置文件操作分析
May 29 PHP
PHP的JSON封装、转变及输出操作示例
Sep 27 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 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
深入php socket的讲解与实例分析
2013/06/13 PHP
解析php curl_setopt 函数的相关应用及介绍
2013/06/17 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
最新28个很棒的jQuery 教程
2011/05/28 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
详解JavaScript时间格式化
2015/12/23 Javascript
JQuery的Pager分页器实现代码
2016/05/03 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
总结4个方面优化Vue项目
2019/02/11 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
Python中List.count()方法的使用教程
2015/05/20 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
python分析作业提交情况
2017/11/22 Python
Flask之flask-session的具体使用
2018/07/26 Python
python顺序执行多个py文件的方法
2019/06/29 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
详解Python的三种拷贝方式
2020/02/11 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
台湾生鲜宅配:大口市集
2017/10/14 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
幼儿园实习生辞职信
2014/01/20 职场文书
农民工讨薪标语
2014/06/26 职场文书
音乐教师求职信
2014/06/28 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书