tp5 导入(已完结)
程序员文章站
2022-03-15 17:40:08
...
首先我们下载 导入excel类 https://pan.baidu.com/s/10YV2wYBdTOmYKPzGC4ssgw
放入到think\vendor中
前端html 记得一定要有 enctype="multipart/form-data" 这句话不然........
<form method="post" action="{:url('index/Terminal/addchannel')}" enctype="multipart/form-data" >
<input name="excel" type="file">
<button type="submit">导入</button>
</form>
控制器 我们在上面还要引入一下 use think\Request; 因为他的上传图片一样都是上传文件。必须要引入
下面就是后台代码;又不懂的地方可以将打印解开,看看什么意思都就可以了。
public function addchannel()
{
$sid = input('sid');
//获取表单上传文件
$file = $this->request->file( 'excel' );
$info = $file->move( ROOT_PATH . 'public' . DS . 'Excel' );
//移动到框架应用根目录
if ( $info ) {
$file_name = ROOT_PATH . 'public' . DS . 'excel' . DS . $info->getsaveName();
// dump( $file_name );
$extension = strtolower( pathinfo( $file_name, PATHINFO_EXTENSION ) );
//判断导入表格后缀格式
// dump( $extension );
vendor( 'PHPExcel.PHPExcel' );
$objPHPExcel = new \PHPExcel();
if ( $extension == 'xls' ) {
$objReader = \PHPExcel_IOFactory::createReader( 'Excel5' );
}
if ( $extension =="xlsx") {
$objReader = \PHPExcel_IOFactory::createReader( 'Excel2007' );
}
$obj_PHPExcel = $objReader->load( $file_name, $encode = 'utf-8' );
//加载文件内容, 编码utf-8
$excel_array = $obj_PHPExcel->getsheet( 0 )->toArray();
//转换为数组格式
array_shift( $excel_array );
//删除第一个数组( 标题 );
// dump( $excel_array );
$pcNum = date( 'Ymd' ) . str_pad( mt_rand( 1, 99999 ), 5, '0', STR_PAD_LEFT );
foreach ( $excel_array as $key => $value ) {
$data['utel1'] = $value[0];
$data['uname'] = $value[1];
$data['uremark'] = $value[2];
$data['ucol1'] = $value[3];
$data['ucol2'] = $value[4];
$data['ucol3'] = $value[5];
$data['ucol4'] = $value[6];
$data['ucol5'] = $value[7];
$data['ucol6'] = $value[8];
$data['ucol7'] = $value[9];
$data['ucol8'] = $value[10];
$data['ucol9'] = $value[11];
$data['ucol10'] = $value[12];
$data['upc'] = $pcNum;
$data['uaddtime'] = date( 'Y-m-d H:i:s', time() );
// $data['entid'] = $_SESSION['user']['entid'];
// $data['workno'] = $_SESSION['user']['workno'];
dump( $data );
$res = Db::name('user')->insert($data);
}
if ( $res ) {
$this->success( '导入成功!' );
}
} else {
//上传失败获取错误信息
$this->error( $file->getError() );
}
}
推荐阅读
-
建议收藏:.net core 使用EPPlus导入导出Excel详细案例,精心整理源码已更新至开源模板
-
国产“7nm”提速 中芯国际:N+1工艺已进入客户导入阶段
-
【已解决】esxi 6.7 中虚拟机导出ovf文件,并导入到 workstation中 兼容问题处理
-
Windows平台导出导入sql文件Mysql表名变小写的解决(已测试)
-
Java代码实现向Oracle数据库中导入已备份的数据库文件
-
tp5导入数据时的批量操作
-
建议收藏:.net core 使用EPPlus导入导出Excel详细案例,精心整理源码已更新至开源模板
-
tp5 PHPExcel 类 导出导入excel 数据库 带图片的那种。。
-
tp5 phpexcel导入excel表格
-
TP5导入数据库