前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tp6之PhpspreadSheet学习(3)导入Excel导入mysql数据库

Tp6之PhpspreadSheet学习(3)导入Excel导入mysql数据库

作者头像
哆哆Excel
发布2022-10-25 14:53:02
4.3K0
发布2022-10-25 14:53:02
举报
文章被收录于专栏:哆哆Excel哆哆Excel

Thinkphp6之PhpspreadSheet学习(3)导入Excel导入mysql数据库

使用PhpSpreadsheet将Excel导入到MySQL数据库

一.在数据库中建立数据表

首先我们需要准备一张MySQL表,表名t_student,表结构如下:

CREATE TABLE `t_student` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`name` varchar(32) NOT NULL COMMENT '姓名',

`chinese` int(6) NOT NULL DEFAULT '0' COMMENT '语文',

`maths` int(6) NOT NULL DEFAULT '0' COMMENT '数学',

`english` int(6) NOT NULL DEFAULT '0' COMMENT '外语',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

二. 准备一个Excel文件表,放在public目录中

三.控制器中的代码如下:

public function Exceltomysql(){

$obj = IOFactory::createReader('Xlsx');

$obj -> setReadDataOnly(true);

$spreadsheet = $obj -> load('student.xlsx');//

$sheet = $spreadsheet->getActiveSheet();

# 获取总列数

$highestColumn = $sheet->getHighestColumn();

# 获取总行数

$highestRow = $sheet->getHighestRow();

# 列数 改为数字显示

$highestColumnIndex = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn);

//echo "行数".$highestRow."列数".$highestColumnIndex;

$log = [];

for($a=2;$a<$highestRow;$a++){

$name = $sheet->getCellByColumnAndRow(1,$a)->getValue();

$chinese = $sheet->getCellByColumnAndRow(2,$a)->getValue();

$maths = $sheet->getCellByColumnAndRow(3,$a)->getValue();

$english = $sheet->getCellByColumnAndRow(4,$a)->getValue();

$data = [

'name' => $name,

'chinese' => $chinese,

'maths' => $maths,

'english' => $english

];

$res = Db::table('t_student')->insert($data);

if($res){

$log[] = '第'.$a.'条,插入成功';

}else{

$log[] = '第'.$a.'条,插入失败';

}

}

//echo json_encode(['code'=>0,'msg'=>'成功','data'=>$log]);

dump($log);

}

四.运行成功返回如下

===今天学习到此===

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档