GoLang+gin框架导入Excel

作者: adm 分类: go 发布时间: 2022-09-06

安装

go get github.com/xuri/excelize/v2

控制器

func (e Users) UserImport(c *gin.Context) {
	srv := service.Users{}
	err := e.MakeContext(c).MakeOrm().MakeService(&srv.Service).Errors
	if err != nil {
		e.Error(0, "", err.Error())
		return
	}

	var fileResponse uploads.FileResponse
	srv1 := uploads.Files{}
	urlPrefix := fmt.Sprintf("http://%s/", c.Request.Host)
	resp, done := srv1.SingleFile(c, fileResponse, urlPrefix)
	if done {
		return
	}

	srv.UserImport(resp.Path)

}

服务层

func (e *Users) UserImport(file string) {

	f, err := excelize.OpenFile(file)
	if err != nil {
		fmt.Println(err)
		return
	}
	defer func() {
		if err := f.Close(); err != nil {
			fmt.Println(err)
		}
	}()
	/*// 获取工作表中指定单元格的值
	cell, err := f.GetCellValue("Sheet1", "B2")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(cell)*/
	// 获取 Sheet1 上所有单元格
	rows, err := f.GetRows("Sheet1")
	if err != nil {
		fmt.Println(err)
		return
	}
	for i, row := range rows {
		if i > 0 {
			for _, colCell := range row {
				fmt.Print(colCell, "\t")
			}
			fmt.Println()
		}
		
	}
	
	

}

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!