php Excel 导入

public function storeSql()

{

$file = input('file.excel');

$path = ROOT_PATH . 'public' . DS . 'uploads';

if ($file) {

$info = $file->move($path);

if ($info) {

$this->dataStore($info->getPathname());

} else {

$this->error($file->getError());

}

}

}

//数据导入

public function dataStore($filePath)

{

import('phpoffice.phpexcel.Classes.PHPExcel');

import('phpoffice.phpexcel.Classes.IOFactory');

import('phpoffice.phpexcel.Classes.Reader.Excel2007');

$PHPExcel = new \PHPExcel();

$PHPReader = new \PHPExcel_Reader_Excel2007();

if (!$PHPReader->canRead($filePath)) {

$PHPReader = new \PHPExcel_Reader_Excel5();

if (!$PHPReader->canRead($filePath)) {

$this->error('上传失败!');

}

}

//读取Excel文件

$PHPExcel = $PHPReader->load($filePath);

//读取excel文件中的第一个工作表

$sheet = $PHPExcel->getSheet(0);

//取得最大的列号

$allColumn = $sheet->getHighestColumn();

//取得最大的行号

$allRow = $sheet->getHighestRow();

$user = new UserOff;

$phones = $user->where('merchant_id', $this->userID)->column('phone');

$all = [];

//从第二行开始插入,第一行是列名

for ($currentRow = 2; $currentRow <= $allRow; $currentRow++) {

$data['phone'] = $PHPExcel->getActiveSheet()->getCell("A" . $currentRow)->getValue();

$data['point'] = $PHPExcel->getActiveSheet()->getCell("B" . $currentRow)->getValue();

$data['growth'] = $PHPExcel->getActiveSheet()->getCell("C" . $currentRow)->getValue();

$data['card_num'] = $PHPExcel->getActiveSheet()->getCell("D" . $currentRow)->getValue();

$data['user_name'] = $PHPExcel->getActiveSheet()->getCell("E" . $currentRow)->getValue();

$data['merchant_id'] = $this->userID;

$data['add_time'] = time();

$data['phone_no'] = $data['phone'] . $this->userID . "AcDE"; //编号

empty($data['card_num']) && $data['card_num'] = 0;

empty($data['user_name']) && $data['user_name'] = "";

empty($data['phone']) && $data['user_name'] = "";

empty($data['point']) && $data['point'] = 0;

empty($data['growth']) && $data['growth'] = 0;

array_push($all,$data);

}

$allData =$this->diffArr($all,$phones);

$update = $user->saveAll($allData['allDataUp'], true);

//$update = true;

$insert = $user->saveAll($allData['allDataIn'], false);

if ($update || $insert) {

$this->success('数据导入成功!', url('dump/index'));

} else {

$this->error('数据导入失败!');

}

}

php excel 导入 显示,php Excel 导入相关推荐

  1. vue使用luckySheet前端excel的在线表格,导入显示以及导出excel文件

    场景: 当界面上普通的element表格已经不足以展示的数据的时候,或是为了更好的体验.由后端处理数据为二进制文档流,返回到前端直接进行显示为excel. 效果图: 代码实现: 安装引入: index ...

  2. java导入进度显示_java excel导入获取实时进度

    1.需求 对于成千上万数据量的excel导入,后台处理耗时长,体验差.需要实时展示当前导入的进度,提高使用体验 2.实现思路 采用多线程进行实现 在导入开始执行前,生成一个uuid和进度对象,储存到静 ...

  3. word录入表单数据 java 导入系统,java导入excel | 怎么把excel中的数据批量导入到word中的表格中...

    用javascript怎么实现把excel中的数据批量导入到数据库表中 这个js不能直接实现吧 我们程序用到 先读取excel内容转换成数组 然后放到页面上 再提交表单 储存 MySql如何批量添加数 ...

  4. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续2篇-模板导出综合示例)...

    自ExcelUtility类推出以来,经过项目中的实际使用与不断完善,现在又做了许多的优化并增加了许多的功能,本篇不再讲述原理,直接贴出示例代码以及相关的模板.结果图,以便大家快速掌握,另外这些示例说 ...

  5. 利用js-xlsx.js插件实现Excel文件导入并解析Excel数据成json数据格式

    <!--本文转载于网络,有太多一样的文章,不知道原作者是哪位了,就不注明出处了.这里记载下来,用于自己的学习借鉴--><!DOCTYPE html><html lang= ...

  6. java excel data 导入数据_java实现导入导出excel数据

    项目需要,要实现一个导入导出excel的功能,于是,任务驱动着我学习到了POI和JXL这2个java操作Excel的插件. 一.POI和JXL介绍 1.POI:是对所有office资源进行读写的一套工 ...

  7. java导入、导出Excel文件

    一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...

  8. springboot使用jxls导出excel___(万能通用模板)--- SpringBoot导入、导出Excel文件___SpringBoot整合EasyExcel模板导出Excel

    springboot使用jxls导出excel 实现思路: 首先在springBoot(或者SpringCloud)项目的默认templates目录放入提前定义好的Excel模板,然后在具体的导出接口 ...

  9. Java中导入、导出Excel——HSSFWorkbook 使用

    一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...

最新文章

  1. wordpress中文乱码处理方法
  2. 思科同时匹配源和目标地址进行策略路由配置测试
  3. 小米6自动重启android,小米6充电重启怎么办 小米6充电自动重启解决方法
  4. JVM 调优实战--常用命令参数及PS收集器的GC日志格式
  5. 【Android】SlidingTabs
  6. POJ 计算几何(3)
  7. phpredis -- Redis编译安装,PHP 7 安装 Redis 扩展
  8. 让Python删除window下文件
  9. 商品销售数据分析报告
  10. 程序员裸辞2个月找不到工作,心态爆炸了
  11. 鸡啄米C++编程入门教程系列
  12. wordpress创建_如何在WordPress中创建专业的在线简历
  13. C语言编程>第二十二周 ② 请补充fun函数,该函数的功能是:返回字符数组中指定字符的个数,指定字符从键盘输入。
  14. java筆試題,Java筆試題附答案 | 學步園
  15. 学习笔记:Oracle函数大全
  16. 外贸公司用邮件开发客户需要注意些什么?
  17. vim+Vundle+vim-autoformat+astyle格式化代码
  18. Feelings On Life II
  19. 详解vue路由传参的三种方式
  20. 本地推送没有报错,但Github内容不更新的原因

热门文章

  1. Flume实操(二)【实时读取本地文件到HDFS案例】
  2. leetcode 485,487,1004. Max Consecutive Ones I ,II, III(最大连续1的个数问题合集)
  3. 【SpringBoot高级】SpringBoot整合篇
  4. 【Python】使用 eval 实现反射
  5. C语言文件操作(一)产生0~M范围内的N个随机数
  6. 服务器如何安装多系统,服务器如何安装双操作系统
  7. c++堆栈溢出怎么解决_c语言进阶:堆栈原理揭秘
  8. Effective Java之保护性编写readObject方法(七十六)
  9. Effective Java之使类和成员的可访问性最小化(十三)
  10. HipHop算法:利用微博互动关系挖掘社交圈