在实际项目中常常会读取文件或表格中的数据,本篇文章简要介绍了如何使用PHPExcel读取Excel表格中的数据。

首先需要获取PHPExcel对象,即,$this->objPHPExcel = new SfLib_PHPExcel($this->sourceFile);

public function __construct($file = null){parent::__construct();if (!empty($file)){$this->file = $file;$this->fileObj = $this->load($file);}}public function load($file){try{$inputFileType = PHPExcel_IOFactory::identify($file);$objReader = PHPExcel_IOFactory::createReader($inputFileType);
//            $objReader->setReadDataOnly(true);$objPHPExcel = $objReader->load($file);$this->file = $file;$this->fileObj = $objPHPExcel;return $objPHPExcel;} catch (PHPExcel_Reader_Exception $e){throw new SfLib_Error(SfLib_Error_Code::PHPEXCEL_ERROR_READ_FAIL, "读取excel文件失败");}}
public function readLine(){$objPHPExcel = $this->fileObj;$currentSheet = $objPHPExcel->getSheet(0);$highestRow = $currentSheet->getHighestRow(); // 取得总行数$highestColumn = $currentSheet->getHighestColumn(); // 取得总列数$highestColumn = PHPExcel_Cell::columnIndexFromString($highestColumn);$table = [];for ($row = 1; $row <= $highestRow; $row++){$line = [];for ($column = 0; $column < $highestColumn; $column++){$columnIndex = PHPExcel_Cell::stringFromColumnIndex($column);$line [] = $currentSheet->getCell($columnIndex . $row)->getValue();}if (empty(array_filter($line, function ($item) {return !empty($item);}))){continue;}$table[] = $line;}return $table;}

将excel转换成数组或Json

    /** 转化Excel数据到json格式*/public function transformExcel2Json(){$data = $this->objPHPExcel->readLine();if (! $data) {echo "read excel data fail.";exit(-1);}$newData = [];$skipFlag = true;foreach($data as $row) {$tmp = [];if ($skipFlag) {$skipFlag = false;continue;}$tmp["shop_id"] = intval($row[0]);$tmp["package_id"] = intval($row[1]);$tmp["package_name"] = strval($row[2]);$tmp["net_start_time"] = $this->transformExcelNumber2DateStr(intval($row[3]));$tmp["end_time"] = $this->transformExcelNumber2DateStr(intval($row[4]));$tmp["origin_price"] = intval($row[5]);$tmp["real_price"] = intval($row[6]);$newData[] = $tmp;}var_dump($newData);$ret = file_put_contents($this->dstFile, json_encode($newData));if (false === $ret) {echo "write json file fail";exit(-1);}}
说一下file_put_contents方法,如下:
$filename文件内容及格式为
{"name":"\u738b\u5c27","age":"26","sex":"\u5973"}
执行下面的代码,
$arr = array('name'=>'张三','age'=>'26','sex'=>'男',
);
$str = json_encode($arr);
$ret = file_put_contents($filename,$str,FILE_APPEND);
if (false === $ret) {Sf_Log::warning("write json file fail");echo "write json file fail";
}

结果为:

{"name":"\u738b\u5c27","age":"26","sex":"\u5973"}
{"name":"\u5f20\u4e09","age":"26","sex":"\u7537"}

(PHPExcel)读取表格中数据相关推荐

  1. php获取excel表格内容,利用PHPExcel如何读取表格中内容

    利用PHPExcel如何读取表格的内容呢?话不多说,下面的这篇文章将给大家详细的介绍关于PHPExcel读取表格中内容的方法. 先引入类IOFactory.phprequire_once '../PH ...

  2. java读取word表格中的数据_JAVA获取word表格中数据的方案

    上一个项目的开发中需要实现从word中读取表格数据的功能,在JAVA社区搜索了很多资料,终于找到了两个相对最佳的方案,因为也得到了不少网友们的帮助,所以不敢独自享用,在此做一个分享. 两个方案分别是: ...

  3. 使用POI读取Excel表格中数据

    使用POI读取Excel表格中数据 已经在 使用POI读取Excel表格中数据2优化.(https://blog.csdn.net/qq_36570464/article/details/107053 ...

  4. PHPExcel读取表格内容

    PHPExcel读取表格 --- 先引入类IOFactory.php require_once '../PHPExcel/IOFactory.php';$filePath = "test.x ...

  5. python导入txt为dataframe-python读取文本中数据并转化为DataFrame的实例

    在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...

  6. python输出文本和值_python读取文本中数据并转化为DataFrame的实例

    在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...

  7. 利用Excel表格中数据生成地图类型可视化图形案例

    利用Excel表格中数据生成地图类型可视化图形案例 一.准备工作 二.读取excel数据 三.创建地图并进行设置 创建地图 设置地图相关参数 四.渲染保存为网页文件 写在最后 某人工作不设限,创新不断 ...

  8. 导入excel表格识别表格中数据得到一个List集合

    导入excel表格识别表格中数据得到一个List集合 1.先注入相关依赖 如果是用eclipse开发的项目的话就需要去下载对应的jar包导入才行. <dependency><grou ...

  9. 将MSHFLEXGRID表格中数据导入Excel方法

    机房收费系统在缓慢的进行着,很多功能都需要一点一点的实现,通过上网查找一些实现功能的方法,也都实现了,这个是实现将MSHFLEXGRID表格中数据导入到Excel中,方便保存起来和对数据进行处理. 实 ...

最新文章

  1. Android中实现整个视图切换的左右滑动效果
  2. Flutter入门三部曲(3) - 数据传递/状态管理 | 掘金技术征文
  3. jcmd:一个可以全部统治的JDK命令行工具
  4. PHP Warning: date() [function.date]解决方案
  5. window10怎么卸载php,window_win10怎么卸载程序?win10卸载程序教程,当win10正式版发布以后,不少 - phpStudy...
  6. 【分享】Java软件架构师所要需的东西 (希望对很多迷茫的朋友指个路)
  7. echart纵坐标标签特别长换行显示
  8. Oracle数据库常见版本
  9. 腾讯产品总监曹菲:如何克服职业焦虑
  10. 关于IAP支付,谷歌和苹果订阅商品——最白话,手把手教你做系列。
  11. 嵌入式设备系统有无操作系统的区别
  12. 万得-python接口-获取数据
  13. 什么是反射以及反射的作用
  14. UCF101数据集的处理问题
  15. 计算机格式化磁盘6,装机必学:硬盘分区、格式化通用方法大全
  16. centos7 离线安装gcc pcre-devel openssl-devel zlib-devel
  17. 2022校招:华为笔试
  18. 通讯数据指示灯的C语言程序6,这些关于PLC的经典问答,你必须知道
  19. 金士顿服务器内存条型号解读,金士顿骇内存新版型号编码规则是什么?
  20. 会计实务----现金支票

热门文章

  1. WARNING: channel “pecl.php.net“ has updated its protocols
  2. 浅谈数据的查找(二分查找)
  3. UE5打包安卓环境搭建
  4. 如何在linux上直接运行python程序
  5. ITM机制-不用串口也能printf
  6. 在IAR中使用ITM调试消息
  7. c++定义虚构造_在定义的系统中发现虚构的设计
  8. 从今天开始学习python和英语
  9. libcurl.lib 导入问题 须知
  10. 机器学习_深度学习毕设题目汇总——交通