【tp5.1】通过PHPExcel实现导入excel表格
2024-08-28 15:06:53
1.上github下载PHPExcel,链接:https://github.com/PHPOffice/PHPExcel
2.下载解压后,将Classes改名为PHPExcel如图
3.将文件夹复制到项目内extend
4.html代码
<form method="post" action="/admin/pos/posImport" class="form-signin" enctype="multipart/form-data" role="form" id="form" >
<input name="excel" type="file" class="form-control excel_path">
<input type="submit" value="导入Excel" class="btn btn-lg btn-primary btn-block">
</form>
5.php代码,tp5.1取消了vendor和import
//上传excel文件
$file = request()->file('excel');
//将文件保存到public/uploads目录下面
$info = $file->validate(['size'=>1048576,'ext'=>'xls,xlsx'])->move( './uploads');
if($info){
//获取上传到后台的文件名
$fileName = $info->getSaveName();
//获取文件路径
$filePath = Env::get('root_path').'public'.DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR.$fileName;
//获取文件后缀
$suffix = $info->getExtension();
//判断哪种类型
if($suffix=="xlsx"){
$reader = \PHPExcel_IOFactory::createReader('Excel2007');
}else{
$reader = PHPExcel_IOFactory::createReader('Excel5');
}
}else{
$this->error('文件过大或格式不正确导致上传失败-_-!');
}
//载入excel文件
$excel = $reader->load("$filePath",$encode = 'utf-8');
//读取第一张表
$sheet = $excel->getSheet(0);
//获取总行数
$row_num = $sheet->getHighestRow();
//获取总列数
$col_num = $sheet->getHighestColumn();
$data = []; //数组形式获取表格数据
for ($i = 2; $i <= $row_num; $i ++) {
$data[$i]['code'] = $sheet->getCell("A".$i)->getValue();
$data[$i]['last_code'] = substr($sheet->getCell("A".$i)->getValue(),-6);
$time = date('Y-m-d H:i',\PHPExcel_Shared_Date::ExcelToPHP($sheet->getCell("B".$i)->getValue()));//将excel时间改成可读时间
$data[$i]['time'] = strtotime($time);
//将数据保存到数据库
}
$res = Db::name('pos_code')->insertAll($data);
如此便可以导入表格了,导出表格晚些更新
最新文章
- Swift - UIView,UItableView,Cell设置边框方法
- 用JQuery动态为选中元素添加/删除类
- git diff命令
- Linux驱动开发学习笔记(1):LINUX驱动版本的hello world
- mysql row number的实现
- android 再按一次退出程序(实现代码)
- java 判断对象是否是某个类的类型方法
- AQS详解
- 深入PHP变量存储结构 标签: PHP存储
- 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD)
- 【UML 建模】UML建模语言入门-视图,事物,关系,通用机制
- 《HelloGitHub》第 34 期
- 『集群』001 Slithice 服务器集群 概述
- 【ARTS】01_13_左耳听风-20190204~20190210
- 100种不同图片切换效果插件pageSwitch
- 国庆JAVA作业
- Writing device drivers in Linux: A brief tutorial
- 文档根元素 ";mapper"; 必须匹配 DOCTYPE 根 ";configuration";
- 单细胞RNA测序技术之入门指南
- 基于spring boot的定时器