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 相关文章推荐
ftp类(example.php)
Oct 09 PHP
PHP邮件专题
Oct 09 PHP
php获得当前的脚本网址
Dec 10 PHP
PHP实现时间轴函数代码
Oct 08 PHP
php 文本文件的读取效率
Feb 10 PHP
记录mysql性能查询过程的使用方法
May 02 PHP
php中ftp_chdir与ftp_cdup函数用法
Nov 18 PHP
解决nginx不支持thinkphp中pathinfo的问题
Jul 21 PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 PHP
PHP+Mysql无刷新问答评论系统(源码)
Dec 20 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
PHP简单实现循环链表功能示例
Nov 10 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 session 存储方式的详细介绍
2013/06/25 PHP
php类的定义与继承用法实例
2015/07/07 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
JS backgroundImage控制
2009/05/19 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
浅析javascript 定时器
2014/12/23 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
AngularJS中过滤器的使用与自定义实例代码
2016/09/17 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
Python实现获取某天是某个月中的第几周
2015/02/11 Python
Python爬虫模拟登录带验证码网站
2016/01/22 Python
python查看模块安装位置的方法
2018/10/16 Python
python多线程同步之文件读写控制
2021/02/25 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
党员思想汇报范文
2013/12/30 职场文书
承办会议欢迎词
2014/01/17 职场文书
趣味比赛活动方案
2014/02/15 职场文书
端午节演讲稿
2014/05/23 职场文书
工作说明书格式
2014/07/29 职场文书
稽核岗位职责范本
2015/04/13 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
防溺水主题班会教案
2015/08/12 职场文书
2016年敬老月活动总结
2016/04/05 职场文书