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分页代码详解
Mar 27 PHP
PHP函数之日期时间函数date()使用详解
Sep 09 PHP
ThinkPHP中的三大自动简介
Aug 22 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
Oct 30 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 PHP
thinkPHP中钩子的两种配置调用方法详解
Nov 11 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
safari下载文件自动加了html后缀问题
Nov 09 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
php实现断点续传大文件示例代码
Jun 19 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
新闻分类录入、显示系统
2006/10/09 PHP
超级简单的php+mysql留言本源码
2009/11/11 PHP
认识并使用PHP超级全局变量
2010/01/26 PHP
php分页思路以及在ZF中的使用
2012/05/30 PHP
如何解决CI框架的Disallowed Key Characters错误提示
2013/07/05 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
JavaScript 事件对象的实现
2009/07/13 Javascript
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
2011/09/20 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
2016/08/05 Javascript
Angular.js之作用域scope'@','=','&amp;'实例详解
2017/02/28 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
vue.js实现三级菜单效果
2019/10/19 Javascript
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
Python生成pdf文件的方法
2014/08/04 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
What is view? why do we have view?
2012/06/22 面试题
幼儿园元旦活动感言
2014/03/02 职场文书
企业职业病防治方案
2014/05/29 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
九年级语文教学反思
2016/03/03 职场文书
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS