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 miniBB中文乱码问题解决方法
Nov 25 PHP
php更改目录及子目录下所有的文件后缀的代码
Sep 24 PHP
php 目录与文件处理-郑阿奇(续)
Jul 04 PHP
实用的简单PHP分页集合包括使用方法
Oct 21 PHP
简单谈谈php中ob_flush和flush的区别
Nov 27 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
php实现评论回复删除功能
May 23 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 PHP
微信公众平台开发教程②微信端分享功能图文详解
Apr 10 PHP
Laravel框架源码解析之反射的使用详解
May 14 PHP
PHP array_reverse() 函数原理及实例解析
Jul 14 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 验证码实例代码
2010/06/01 PHP
php简单判断文本编码的方法
2015/07/30 PHP
用JQuery 实现的自定义对话框
2007/03/24 Javascript
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
javascript将url解析为json格式的两种方法
2017/08/18 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
[52:12]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
python 文件与目录操作
2008/12/24 Python
Python多线程下载文件的方法
2015/07/10 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
银行求职推荐信范文
2013/11/30 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
个人先进事迹总结
2015/02/26 职场文书