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('数据导入失败!');
}
}

最新文章

  1. Java正则抓取email
  2. Pixel VS Point, FrameBuffer VS RenderBuffer
  3. .net学习笔记----二级域名站点共享Session状态
  4. css做的后台管理页面,不考虑ie8一下的
  5. DB 从zl.xml中导入数据库用户名及密码等!
  6. 使用node的http模块实现爬虫功能,并把爬到的数据存入mongondb
  7. HDU5780 gcd (BestCoder Round #85 E) 欧拉函数预处理——分块优化
  8. 给flash文件加超链接[兼容主流浏览器]
  9. hdu_5908_Abelian Period(暴力)
  10. C#设计模式之二简单工厂模式(过渡模式)
  11. css页面滚动触发动画
  12. How does the compilation and linking process work?
  13. Linux下破解pycharm
  14. 微信支付---H5支付
  15. python拉格朗日插值
  16. hdu5521(Meeting)spfa 层次网络最短路
  17. maven 知识
  18. python开发day02
  19. linux防火墙使用以及配置
  20. EsayUI + MVC + ADO.NET(工作单元)

热门文章

  1. hive 分组排序函数 row_number() over(partition by " " order by " "desc
  2. javascript 六种数据类型
  3. 消息队列rabbitmq/kafka
  4. .tcc文件
  5. Docker非常详细的讲解
  6. 一、基础篇--1.2Java集合-ArrayList和Vector的区别
  7. 查看进程CPU、内存使用情况
  8. IDEA超实用快捷键
  9. 写10个简单的 linux 命令?
  10. Input 输入框