php excel 导入 显示,php Excel 导入
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 导入相关推荐
- vue使用luckySheet前端excel的在线表格,导入显示以及导出excel文件
场景: 当界面上普通的element表格已经不足以展示的数据的时候,或是为了更好的体验.由后端处理数据为二进制文档流,返回到前端直接进行显示为excel. 效果图: 代码实现: 安装引入: index ...
- java导入进度显示_java excel导入获取实时进度
1.需求 对于成千上万数据量的excel导入,后台处理耗时长,体验差.需要实时展示当前导入的进度,提高使用体验 2.实现思路 采用多线程进行实现 在导入开始执行前,生成一个uuid和进度对象,储存到静 ...
- word录入表单数据 java 导入系统,java导入excel | 怎么把excel中的数据批量导入到word中的表格中...
用javascript怎么实现把excel中的数据批量导入到数据库表中 这个js不能直接实现吧 我们程序用到 先读取excel内容转换成数组 然后放到页面上 再提交表单 储存 MySql如何批量添加数 ...
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续2篇-模板导出综合示例)...
自ExcelUtility类推出以来,经过项目中的实际使用与不断完善,现在又做了许多的优化并增加了许多的功能,本篇不再讲述原理,直接贴出示例代码以及相关的模板.结果图,以便大家快速掌握,另外这些示例说 ...
- 利用js-xlsx.js插件实现Excel文件导入并解析Excel数据成json数据格式
<!--本文转载于网络,有太多一样的文章,不知道原作者是哪位了,就不注明出处了.这里记载下来,用于自己的学习借鉴--><!DOCTYPE html><html lang= ...
- java excel data 导入数据_java实现导入导出excel数据
项目需要,要实现一个导入导出excel的功能,于是,任务驱动着我学习到了POI和JXL这2个java操作Excel的插件. 一.POI和JXL介绍 1.POI:是对所有office资源进行读写的一套工 ...
- java导入、导出Excel文件
一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...
- springboot使用jxls导出excel___(万能通用模板)--- SpringBoot导入、导出Excel文件___SpringBoot整合EasyExcel模板导出Excel
springboot使用jxls导出excel 实现思路: 首先在springBoot(或者SpringCloud)项目的默认templates目录放入提前定义好的Excel模板,然后在具体的导出接口 ...
- Java中导入、导出Excel——HSSFWorkbook 使用
一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...
最新文章
- wordpress中文乱码处理方法
- 思科同时匹配源和目标地址进行策略路由配置测试
- 小米6自动重启android,小米6充电重启怎么办 小米6充电自动重启解决方法
- JVM 调优实战--常用命令参数及PS收集器的GC日志格式
- 【Android】SlidingTabs
- POJ 计算几何(3)
- phpredis -- Redis编译安装,PHP 7 安装 Redis 扩展
- 让Python删除window下文件
- 商品销售数据分析报告
- 程序员裸辞2个月找不到工作,心态爆炸了
- 鸡啄米C++编程入门教程系列
- wordpress创建_如何在WordPress中创建专业的在线简历
- C语言编程>第二十二周 ② 请补充fun函数,该函数的功能是:返回字符数组中指定字符的个数,指定字符从键盘输入。
- java筆試題,Java筆試題附答案 | 學步園
- 学习笔记:Oracle函数大全
- 外贸公司用邮件开发客户需要注意些什么?
- vim+Vundle+vim-autoformat+astyle格式化代码
- Feelings On Life II
- 详解vue路由传参的三种方式
- 本地推送没有报错,但Github内容不更新的原因
热门文章
- Flume实操(二)【实时读取本地文件到HDFS案例】
- leetcode 485,487,1004. Max Consecutive Ones I ,II, III(最大连续1的个数问题合集)
- 【SpringBoot高级】SpringBoot整合篇
- 【Python】使用 eval 实现反射
- C语言文件操作(一)产生0~M范围内的N个随机数
- 服务器如何安装多系统,服务器如何安装双操作系统
- c++堆栈溢出怎么解决_c语言进阶:堆栈原理揭秘
- Effective Java之保护性编写readObject方法(七十六)
- Effective Java之使类和成员的可访问性最小化(十三)
- HipHop算法:利用微博互动关系挖掘社交圈