php Excel 导入
2023-09-11 14:16:54 时间
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('数据导入失败!');
}
}
相关文章
- 【目录】C#操作Excel组件Spire.XLS系列文章目录
- Excel电子表格操作
- php面试题之PHP核心技术
- PHP 性能优化 - php.ini 配置
- Office EXCEL 中如何让一个单元格的数据链接到另一个工作表的数据
- php:使用XHProf查找PHP性能瓶颈
- POI如何自动调整Excel单元格中字体的大小
- php中使用PHPExcel操作excel(xls)文件
- PHP中获取当前页面的完整URL & php $_SERVER中的SERVER_NAME 和HTTP_HOST的区别
- excel怎么设置密码保护?Excel文件添加密码保护教程
- LZW算法PHP实现方法 lzw_decompress php
- Relearning PHP (2) – php 的浮点数float
- python读取excel
- Java读写Excel之POI超入门
- 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- 把数据库中的数据制作成Excel数据
- thinkphp6: 用phpspreadsheet导出数据到excel (php 8.1.1 / thinkphp v6.0.10LTS / phpspreadsheet 1.21.0 )
- phpExcel常用方法详解【附有php导出excel加超级链接】
- php类库PHP QR Code 二维码
- Relearning PHP (2) – php 的浮点数float
- SAP ABAP 解析 excel 文件的函数 TEXT_CONVERT_XLS_TO_SAP 单步执行分析
- 使用ABAP操作Excel的几种方法
- PhalApi-Excel
- Atitit.office word excel ppt pdf 的web在线预览方案与html转换方案 attilax 总结
- atitit.导出excel的设计----查询结果 导出为excel的实现java .net php 总结
- 前端必备技能知识:vue.js操作excel表格,实现导入导出功能
- 已解决Python pandas.read_excel读取Excel文件报错
- Qt之excel 操作使用说明
- 太强了,用 Python+Excel 制作天气预报表!
- Excel基础
- excel根据颜色赋值 Excel填充颜色单元格替换成数字 excel把所有红色变成1
- POI读写Excel文件
- 玩转excel===Excel处理txt文件中的数据,Excel中的分列处理
- 【整理】Linux下中文检索引擎coreseek4安装,以及PHP使用sphinx的三种方式(sphinxapi,sphinx的php扩展,SphinxSe作为mysql存储引擎)
- JAVA操作Excel表格:方法一:jxl的使用②:Excel实战之JXL解析读取excel文件
- Python开发学习之Python和Excel的数据实现互通
- PHP 导出 Excel