当前位置: 首页 > article >正文

go 读取excel数据存储到mysql

一、安装依赖

go get github.com/go-sql-driver/mysql 
go get github.com/jmoiron/sqlx

 

二、main.go

package main

import (
	"fmt"
	"github.com/jmoiron/sqlx"
	"log"
)
import "github.com/tealeg/xlsx"
import _ "github.com/go-sql-driver/mysql"

type Student struct {
	Name string
	Sex  string
}

func (student Student) show() {
	fmt.Printf("Name:%s Sex:%s\r\n", student.Name, student.Sex)
}

func main() {
	excelPath := "students.xlsx"
	xlFile, err := xlsx.OpenFile(excelPath)
	if err != nil {
		fmt.Printf("Error opening Excel file: %s\n", err)
		return
	}
	sheet := xlFile.Sheets[0]
	var students []Student
	i := 0
	for _, row := range sheet.Rows {
		name := row.Cells[0].String()
		sex := row.Cells[1].String()
		fmt.Printf("name:%s sex:%s \r\n", name, sex)
		students = append(students, Student{Name: name, Sex: sex})
		i++
	}
	for _, student := range students {
		student.show()
	}

	/*数据库操作*/
	fmt.Println("数据库操作")
	dsn := "root:123456@tcp(192.168.31.132:3306)/demo"
	db, err := sqlx.Open("mysql", dsn)
	if err != nil {
		log.Fatal(err)
	}

	for i, student := range students {
		if i == 0 {
			continue
		}
		db.NamedExec("insert into students(Name,Sex) values(:name,:sex)", student)
	}

	var studentMaps []*Student
	err = db.Select(&studentMaps, `select name,sex from students where name=?`, "张三")
	if err != nil {
		log.Fatal(err)
	}
	for _, student := range studentMaps {
		student.show()
	}
}


http://www.kler.cn/a/317504.html

相关文章:

  • 力扣662:二叉树的最大宽度
  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-Qwen-Agent深入学习(四)
  • C++单例模式与多例模式
  • 设计模式之装饰器模式(SSO单点登录功能扩展,增加拦截用户访问方法范围场景)
  • C语言入门到精通(第六版)——第十六章
  • git下载慢下载不了?Git国内国外下载地址镜像,git安装视频教程
  • 案例研究丨国控星鲨利用DataEase释放数据潜能,重塑业务视野
  • 从底层原理上解释 ClickHouse 的索引
  • leetcode 205.同构字符串
  • 如何快速上手一个Github的开源项目
  • C++ 9.24
  • 如何使用ssm实现疫苗预约系统+vue
  • 使用synchronized锁住字符串
  • Shire 智能体市场:IDE 一键安装多智能体,协同打造集体智慧 Copilot
  • 迎国庆-为祖国庆生python、Java、C各显神通
  • 【Python】数据可视化之分布图
  • 联影医疗嵌入式面试题及参考答案(3万字长文)
  • wpf,工具栏上,最小化按钮的实现
  • ubuntu 系统下,安装stable diffusion解决下载速度慢的问题
  • (十五)、把自己的镜像推送到 DockerHub
  • 数模方法论-无约束问题求解
  • 科龙睡眠空调小耳朵LF上线,“亲身”答疑空调一天多少度电
  • 【二十五】【QT开发应用】无边窗窗口鼠标拖动窗口移动,重写mousePressEvent,mouseMoveEvent函数
  • 专属文生图助手——SD3+ComfyUI文生图部署步骤
  • 安卓Settings值原理源码剖析存储最大的字符数量是多少?
  • css设置动态数组渲染及中间线平均分开显示