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与XML的PDF文档生成技术
Oct 09 PHP
wiki-shan写的php在线加密的解密程序
Sep 07 PHP
PHP 程序员的调试技术小结
Nov 15 PHP
php图片加中文水印实现代码分享
Oct 31 PHP
PHP mysql与mysqli事务使用说明 分享
Aug 17 PHP
9个实用的PHP代码片段分享
Jan 22 PHP
PHP register_shutdown_function()函数的使用示例
Jun 23 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
CodeIgniter配置之routes.php用法实例分析
Jan 19 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
php传值和传引用的区别点总结
Nov 19 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
Feb 11 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连接数据库代码应用分析
2011/05/29 PHP
理解和运用PHP中的多态性[译]
2011/08/02 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
php实现的CSS更新类实例
2014/09/22 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
2017/07/17 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
2018/09/21 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
Python 如何创建一个线程池
2020/07/28 Python
英国第一蛋白粉品牌:Myprotein
2016/09/14 全球购物
计算机网络毕业生自荐信
2013/10/01 职场文书
十一酒店活动方案
2014/02/20 职场文书
小学教师读书活动总结
2014/07/08 职场文书
公司员工体检通知
2015/04/21 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
治庸问责工作总结
2015/08/11 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电