这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
本篇文章主要介绍了 php 上传 excel 表格并获取数据的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
这个是最近需要做的一个功能,在网上也查看了很多相关的文章,基本上大同小异,在这里整理一下。
一:首先是 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);
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持 PHPERZ
来源: http://www.phperz.com/article/17/0812/340071.html