开发日记之go导出xlsx

今天有个需求就是把mysql里面的数据按要求导出成xlsx形式

首先需要get这个包:

github.com/360EntSecGroup-Skylar/excelize

然后可以去到这个主页去看他们的使用方法,我暂时简单的使用了他们的Create spreadsheet(创建电子表格文件):

func main() {f := excelize.NewFile()// 创建一个新的工作表index := f.NewSheet("Sheet1")// Set value of a cell.设置一个单元格的值f.SetCellValue("Sheet1", "A1", "2021-03-12")f.SetCellValue("Sheet1", "B1", "——")f.SetCellValue("Sheet1", "C1", "2021-03-13")f.SetCellValue("Sheet1", "D1", "满意度调查")f.SetCellValue("Sheet1", "A2", "用户姓名")f.SetCellValue("Sheet1", "B2", "用户手机号")f.SetCellValue("Sheet1", "C2", "1、请问您平常在哪个饭堂就餐")f.SetCellValue("Sheet1", "D2", "2、我们近期对食谱进行了调整,请您对本周的伙食进行评价?")f.SetCellValue("Sheet1", "E2", "3、您认为应该如何改进?请您留下您宝贵的意见或建议!")//在数据库查出想要的数据lis(map数组的数据结构)//遍历for i, row := range lis {f.SetCellValue("Sheet1", "A"+wtf.String(i+3), row.String("name"))f.SetCellValue("Sheet1", "B"+wtf.String(i+3), row.String("phone"))f.SetCellValue("Sheet1", "C"+wtf.String(i+3), row.String("qone"))f.SetCellValue("Sheet1", "D"+wtf.String(i+3), row.String("qtwo"))f.SetCellValue("Sheet1", "E"+wtf.String(i+3), row.String("qthree"))}// Set active sheet of the workbook.设置工作簿的活动表f.SetActiveSheet(index)// Save spreadsheet by the given path.按给定的路径保存电子表格if err := f.SaveAs("/??"); err != nil {return}//打开这个文件file, err3 := os.Open("/??")if err3 != nil {return}//这个是我自己写的上传oss服务器的函数(不用参考这个),会得到一个urlURL, err4 := tools.FileUpload(file, "满意度调查.xlsx")if err4 != nil {return}defer file.Close()//再删除文件if err := os.Remove("/??"); err != nil {c.JSONError(err)return}println(URL)}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部