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 相关文章推荐
Windows下的PHP5.0安装配制详解
Sep 05 PHP
截获网站title标签之家内容的例子
Oct 09 PHP
shopex中集成的站长统计功能的代码简单分析
Aug 11 PHP
ThinkPHP模版引擎之变量输出详解
Dec 05 PHP
PHP积分兑换接口实例
Feb 09 PHP
php实现用于删除整个目录的递归函数
Mar 16 PHP
PHP中的Trait 特性及作用
Apr 03 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
php实现记事本案例
Oct 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
在线增减.htpasswd内的用户
2006/10/09 PHP
PHP中number_format()函数的用法讲解
2019/04/08 PHP
js小技巧--自动隐藏红叉叉
2007/08/13 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
2013/06/17 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
2015/08/17 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
jQuery extend()详解及简单实例
2017/05/06 jQuery
基于AngularJS实现表单验证功能
2017/07/28 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
纯js实现隔行变色效果
2017/11/29 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
2018/06/10 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
Python模拟三级菜单效果
2017/09/11 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
C++的几个面试题附答案
2016/08/03 面试题
写自荐信要注意什么
2013/12/26 职场文书
企业演讲比赛主持词
2014/03/18 职场文书
《三顾茅庐》教学反思
2014/04/10 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
体育教师个人总结
2015/02/09 职场文书
九年级化学教学反思
2016/02/22 职场文书