这个是最近需要做的一个功能,在网上也查看了很多相关的文章,基本上大同小异,在这里整理一下。

一:首先是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使用excel表格数据处理,php上传excel表格并获取数据相关推荐

  1. java excel导入前台_java上传excel表格并读取数据返回到前台

    如果你对里面的代码不熟悉不知道的话,建议先浏览一遍代码再拿去用, 这里我介绍一下这个过程的思路: 1.定义变量那些就不说了 , 2.首先是上传文件并保存的代码 3.根据excel表的路径来读取文件,之 ...

  2. ajax传递excel后台接收,前端上传EXCEL文件,后台servlet怎么获取EXCEL中的数据

    //excel文件 private File xlsFile; //excel列名 private static final String[] SALARYIMPORTVALUE_COLUMN_NAM ...

  3. 自己做项目时整理的上传Excel表格

    Thinkphp5实现导入excel表格 (1)下载PHPExcel-1.7.7(jb51.net) 插件 (2)将其下的Classes 解压到框架vendor文件夹下并进行重命名 (3)前端代码 ( ...

  4. springboot上传excel表格到数据库

    1.引入相关poi依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi< ...

  5. 【Vue】vue2上传Excel表格到后台 实战教程(接上一篇下载Excel模板表格到本地)

    参考文章 作者原文链接入口 项目场景: 关于数据新增,需要从后台下载一个Excel表格,然后在表格里面添加数据,再上传给后台,后台做解析处理,往数据库添加数据 问题描述 需要用到elementUI的文 ...

  6. 前端 js 上传excel表格、文件

    一.场景 产品给了个设计图,需要点击[自定义]图标或者其他图片来完成上传的动作.(打开选择文件弹窗,并选择文件) 思路:利用 input-type 的 "file" 属性来完成. ...

  7. 微信公众号怎样上传excel表格?

    通过 微附件 小程序,可以在微信公众号上传excel文件,推送excel文件. 第一步:将附件上传到"微附件"小程序,或官方网站,这里只演示上传到官网的. 第二步:在微信公众号后台 ...

  8. ant-vue实现上传excel文件并解析内容

    安装依赖 npm install xlsx --save 引入 笔者使用vue2, 引入import xlsx from 'xlsx' 写法,笔者使用xlsx.read和xlsx.utils.shee ...

  9. ExceL文档2.上传解析Excel文档

    控制层方法: @RequestMapping(value = "/parseEXCEL.do", method = RequestMethod.POST) public Strin ...

最新文章

  1. Android最佳性能实践(一):合理管理内存
  2. Anaconda中快速安装Tensorflow与Keras并在pycharm中完成相应配置(win10cpu版)
  3. 下一代ERP”仍旧是现在的ERP?
  4. C#中List与IList的区别
  5. VBA中Let与Set的区别
  6. 又出问题!特斯拉回应384万天价充电费:系统错误,正在修复
  7. mac上Matlab怎么运行不了,解决macOS系统下matlab无法访问中文路径及中文乱码问题...
  8. Mac OS X上使用Wireshark(可用)
  9. # 20145205 《Java程序设计》第1周学习总结
  10. 在浏览器上打开swf文件时变成了下载swf文件解决方式
  11. 【计算机网络】物理层 : 奈氏准则 ( 失真 | “失真“ 影响因素 | 码间串扰 | 奈奎斯特定理 | 码元极限传输速率 | 信息极限传输速率 | 奈氏准则计算示例 )★
  12. Peeking inside LuaJIT(窥探LuaJIT)
  13. KMP(看毛片)NEXT数组模板
  14. DEV pivotGridControl 单元格内容变色
  15. Windows操作系统查看电脑开关机记录
  16. 网易16年研发实习生笔试题 - 寻找第K大
  17. qqwry 纯真IP数据小工具 nali
  18. vmware FreeBSD安装
  19. 网络性能优化的几个思路
  20. 30家最赚钱移动互联网公司出炉

热门文章

  1. linux程序打桩,一文搞懂linux的库打桩
  2. 矩阵快速幂的学习(系统的学习)
  3. Python 处理前端反调试(无限debugger)
  4. 计算机怎么不用鼠标,技巧:如何仅用键盘而不用鼠标(包括任何指针触摸设备)优雅地使用计算机?...
  5. c++获取一段代码的执行时间_微软IE浏览器JScript脚本引擎远程代码执行漏洞通告...
  6. 将mysql表数据拼接成oracle的insert语句
  7. mac ---- 安装nginx
  8. java动物类_使用java面向对象创建动物类并输出动物信息
  9. 无监督和有监督的区别_机器学习和人工智能之间的区别
  10. 4比较三个数的大小输出最大的值并从小到大排序输出