//导入
func (c *HolidayController) Import() {if c.Ctx.Request.Method == "POST" {c.ImportSave()}c.setTpl("holiday/import.html", "shared/layout_pullbox.html")c.LayoutSections = make(map[string]string)c.LayoutSections["footerjs"] = "holiday/import_footerjs.html"
}
type MonthCoordinate struct{MonthLine intMonthRow  int
}/*数字转换成Excle列中的字母,支持AA、AAA等,实际导入用不到那么多列*/
func Div(Num int)  string{var(Str string = ""k inttemp []int   //保存转化后每一位数据的值,然后通过索引的方式匹配A-Z)//用来匹配的字符A-ZSlice := []string{"","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}if Num >26 {  //数据大于26需要进行拆分for {k = Num % 26  //从个位开始拆分,如果求余为0,说明末尾为26,也就是Z,如果是转化为26进制数,则末尾是可以为0的,这里必须为A-Z中的一个if k == 0 {temp = append(temp, 26)k = 26} else {temp = append(temp, k)}Num = (Num - k) / 26 //减去Num最后一位数的值,因为已经记录在temp中if Num <= 26{   //小于等于26直接进行匹配,不需要进行数据拆分temp = append(temp, Num)break}}}else{return Slice[Num]}for _,value := range temp{Str = Slice[value] + Str //因为数据切分后存储顺序是反的,所以Str要放在后面}return Str
}func IsSingleDigit(data string) bool {digit := []string{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}for _, item := range digit {if data == item {return true}}return false
}/*判断字符串是否是纯数字*/
func IsDigit(data string) bool {for _, item := range data {if IsSingleDigit(string(item)) {continue} else {return false}}return true
}func (c *HolidayController) ImportSave() {var sheetCount intvar mystr stringt :=time.Now()var ImportYear stringvar MyMonth  = [12]MonthCoordinate{{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},}//获取上传urlstr := c.GetString("Url")fmt.Println("Url:", str)//read excelexcelFileName := "static/excel/" + strfmt.Println("excelFileName:", excelFileName)//判断文件后缀 .xlsx//fmt.Println("文件后缀:",path.Ext(excelFileName))if path.Ext(excelFileName) != ".xlsx" {c.jsonResult(enums.JRCodeFailed, "文件类型错误,请选择 *.xlsx 文件 !", 0)}//xlFile, err := xlsx.OpenFile(excelFileName)xlFile, err := excelize.OpenFile(excelFileName)//defer os.Remove(excelFileName)if err != nil {fmt.Printf("open failed: %s\n", err)c.jsonResult(enums.JRCodeFailed, "文件打开失败!", 0)}sheetCount = 0for index, name := range xlFile.GetSheetMap() {sheetCount++  //统计工作表个数fmt.Println(index, name)}//reVal :=if sheetCount > 1 {c.jsonResult(enums.JRCodeFailed, fmt.Sprintf("导入文件存在多个工作表! 必须保证只有一个有效的工作表!当前存在%d个", sheetCount), 0)}SheetIndex :=  xlFile.GetActiveSheetIndex()fmt.Println("SheetIndex:",SheetIndex)SheetName := xlFile.GetSheetName(SheetIndex)fmt.Println("GetDefinedName:",SheetName)SheetNameNumber := SheetName[0:4]fmt.Println("SheetNameNumber:",SheetNameNumber)if !IsDigit(SheetNameNumber){ //如果表单名前四字节不是数字,则返回异常c.jsonResult(enums.JRCodeFailed, fmt.Sprintf("表单名的前四个字节必须填入正确年份,当前输入异常,值为:%s", SheetNameNumber), 0)}CurrentYear :=fmt.Sprintf("%d", t.Year())fmt.Println("CurrentYear is :",CurrentYear)if SheetNameNumber >= CurrentYear{ImportYear = SheetNameNumber}else{c.jsonResult(enums.JRCodeFailed, fmt.Sprintf("表单名的前四个字节年份小于当前实际年份,当前年份是:%s,要求导入年份是:%s", CurrentYear,SheetNameNumber), 0)}// 获取工作表中指定单元格的值,判断是否定义了节假日对应选项 Q3  --  Q7for i:=0 ; i<5 ;i++{cell, err := xlFile.GetCellValue(SheetName, fmt.Sprintf("Q%d", i+3))if err != nil {println(err.Error())}println(cell)if i ==0 {mystr = "假日类型对应颜色:"}else if i==1 {mystr = "周末"}else if i==2{mystr = "法定节假日"}else if i==3{mystr = "年休假"}else if i==4{mystr = "调休上班日"}if cell != "假日类型对应颜色:" && cell != "周末" && cell != "法定节假日" && cell != "年休假" && cell != "调休上班日"{c.jsonResult(enums.JRCodeFailed, fmt.Sprintf("工作表Q%d定义异常,必须定义为:%s", i+3,mystr), 0)}}weekend,_ := xlFile.GetCellStyle(SheetName, "Q4")holiday,_ := xlFile.GetCellStyle(SheetName, "Q5")annualleave,_ := xlFile.GetCellStyle(SheetName, "Q6")other,_ := xlFile.GetCellStyle(SheetName, "Q8")fmt.Println("weekend:",weekend,"holiday:",holiday,"annualleave:",annualleave,"other:",other)/*  weekend1,_ := xlFile.GetCellStyle(SheetName, "N6")holiday1,_ := xlFile.GetCellStyle(SheetName, "O13")annualleave1,_ := xlFile.GetCellStyle(SheetName, "O4")fmt.Println("weekend:",weekend1,"holiday:",holiday1,"annualleave:",annualleave1,"other:",other)*/var line intvar column intline = 0qs := orm.NewOrm().QueryTable(models.HolidayTBName())i, _ := qs.PrepareInsert()defer i.Close(); os.Remove(excelFileName)succNum := 0failNum := 0fail := ""// 获取 Sheet1 上所有单元格,并且获取指定的节假日数据rows, err := xlFile.GetRows(SheetName)fmt.Println("rows:", rows)//fmt.Println("================================================================================================")for _, row := range rows {line++column = 0//fmt.Println("line:",line,"row:",row)fmt.Println("row:",row)for _, colCell := range row {column++print(colCell, "\t")//记录月份坐标if colCell == "1月"{MyMonth[0].MonthLine = lineMyMonth[0].MonthRow = columnfmt.Println("get the 1月:",line, column)}else if colCell == "2月"{MyMonth[1].MonthLine = lineMyMonth[1].MonthRow = columnfmt.Println("get the 2月:",line, column)}else if colCell == "3月"{MyMonth[2].MonthLine = lineMyMonth[2].MonthRow = columnfmt.Println("get the 3月:",line, column)}else if colCell == "4月"{MyMonth[3].MonthLine = lineMyMonth[3].MonthRow = columnfmt.Println("get the 4月:",line, column)}else if colCell == "5月"{MyMonth[4].MonthLine = lineMyMonth[4].MonthRow = columnfmt.Println("get the 5月:",line, column)}else if colCell == "6月"{MyMonth[5].MonthLine = lineMyMonth[5].MonthRow = columnfmt.Println("get the 6月:",line, column)}else if colCell == "7月"{MyMonth[6].MonthLine = lineMyMonth[6].MonthRow = columnfmt.Println("get the 7月:",line, column)}else if colCell == "8月"{MyMonth[7].MonthLine = lineMyMonth[7].MonthRow = columnfmt.Println("get the 8月:",line, column)}else if colCell == "9月"{MyMonth[8].MonthLine = lineMyMonth[8].MonthRow = columnfmt.Println("get the 9月:",line, column)}else if colCell == "10月"{MyMonth[9].MonthLine = lineMyMonth[9].MonthRow = columnfmt.Println("get the 10月:",line, column)}else if colCell == "11月"{MyMonth[10].MonthLine = lineMyMonth[10].MonthRow = columnfmt.Println("get the 11月:",line, column)}else if colCell == "12月"{MyMonth[11].MonthLine = lineMyMonth[11].MonthRow = columnfmt.Println("get the 12月:",line, column)}//根据月份坐标,查找对应节假日节点,并写入到数据库中if line > MyMonth[0].MonthLine + 1 && line < MyMonth[0].MonthLine + 8 && column >= MyMonth[0].MonthRow && column <= MyMonth[0].MonthRow + 6 {//1月 ,月份数据占用行数,最大是七行(包括了星期标识行),举例如下://   3月//    一   二   三   四   五   六   日//                         1// 2   3   4   5   6   7   8// 9   10  11  12  13  14  15//    16  17  18  19  20  21  22//    23  24  25  26  27  28  29//    30  31//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,1,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[1].MonthLine + 1 && line < MyMonth[1].MonthLine + 8 && column >= MyMonth[1].MonthRow && column <= MyMonth[1].MonthRow + 6 {//二月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,2,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[2].MonthLine + 1 && line < MyMonth[2].MonthLine + 8 && column >= MyMonth[2].MonthRow && column <= MyMonth[2].MonthRow + 6 {//三月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,3,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[3].MonthLine + 1 && line < MyMonth[3].MonthLine + 8 && column >= MyMonth[3].MonthRow && column <= MyMonth[3].MonthRow + 6 {//四月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,4,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[4].MonthLine + 1 && line < MyMonth[4].MonthLine + 8 && column >= MyMonth[4].MonthRow && column <= MyMonth[4].MonthRow + 6 {//四月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,5,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[5].MonthLine + 1 && line < MyMonth[5].MonthLine + 8 && column >= MyMonth[5].MonthRow && column <= MyMonth[5].MonthRow + 6 {//六月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,6,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[6].MonthLine + 1 && line < MyMonth[6].MonthLine + 8 && column >= MyMonth[6].MonthRow && column <= MyMonth[6].MonthRow + 6 {//七月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,7,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[7].MonthLine + 1 && line < MyMonth[7].MonthLine + 8 && column >= MyMonth[7].MonthRow && column <= MyMonth[7].MonthRow + 6 {//八月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,8,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[8].MonthLine + 1 && line < MyMonth[8].MonthLine + 8 && column >= MyMonth[8].MonthRow && column <= MyMonth[8].MonthRow + 6 {//九月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,9,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[9].MonthLine + 1 && line < MyMonth[9].MonthLine + 8 && column >= MyMonth[9].MonthRow && column <= MyMonth[9].MonthRow + 6 {//十月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,10,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[10].MonthLine + 1 && line < MyMonth[10].MonthLine + 8 && column >= MyMonth[10].MonthRow && column <= MyMonth[10].MonthRow + 6 {//十一月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,11,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}else if line > MyMonth[11].MonthLine + 1 && line < MyMonth[11].MonthLine + 8 && column >= MyMonth[11].MonthRow && column <= MyMonth[11].MonthRow + 6 {//十二月//fmt.Printf("Row:%s,line:%d",Div(column),line)dayStyle,_ := xlFile.GetCellStyle(SheetName,fmt.Sprintf("%s%d",Div(column),line) )fmt.Println("dayStyle:",dayStyle)if dayStyle == weekend || dayStyle == holiday ||dayStyle == annualleave  {data := models.Holiday{}if dayStyle == weekend{data.Name = "周末"}else if dayStyle == holiday{data.Name = "法定节假日"}else if dayStyle == annualleave{data.Name = "年休假"}//data.Name = fmt.Sprintf("%s", sheet.Rows[j].Cells[0])//data.Holiday = fmt.Sprintf("%s", sheet.Rows[j].Cells[1])day,_ := strconv.Atoi(colCell)data.Holiday  = fmt.Sprintf("%s-%02d-%02d", ImportYear,12,day)fmt.Println("holiday is :",data.Holiday)data.Modify = time.Now().Format("2006-01-02 15:04:05")data.Creator = &c.curUserif data.Name == "" || data.Holiday == ""{failNum += 1fail += "假日名称或假日时间不能为空."continue}else {succNum += 1id, _ := i.Insert(&data)fmt.Printf("id :%v \n", id)}}}//print("column",column,colCell, "\t")}//for idx ,val :=range MyMonth{//   fmt.Println("idx:",idx,"val:",val)//}println()}if succNum > 0 && failNum > 0 {c.jsonResult(enums.JRCodeSucc, "成功数量:"+strconv.Itoa(succNum)+",失败数量:"+strconv.Itoa(failNum)+";原因:"+fail, 0)}else if succNum > 0 && failNum == 0 {c.jsonResult(enums.JRCodeSucc, "成功数量: "+strconv.Itoa(succNum)+".", 0)}else {c.jsonResult(enums.JRCodeFailed, "失败数量:"+strconv.Itoa(failNum)+";原因:"+fail, 0)}
}
//文件上传
func (c *HolidayController) Upload() {//这里type没有用,只是为了演示传值stype, _ := c.GetInt32("type", 0)if stype > 0 {f, h, err := c.GetFile("fileUrl")if err != nil {c.jsonResult(enums.JRCodeFailed, "上传失败", "")}defer f.Close()if !FileExists("static/excel") {os.MkdirAll("static/excel", os.ModePerm)}filePath := "static/excel/" + h.Filename// 保存位置在 static/upload, 没有文件夹要先创建c.SaveToFile("fileUrl", filePath)c.jsonResult(enums.JRCodeSucc, "上传成功", h.Filename)} else {c.jsonResult(enums.JRCodeFailed, "上传失败", "")}
}

go节假日execl导入相关推荐

  1. 2020法定节假日mysql导入数据库(附2020法定节假日下载链接)

    2020法定节假日mysql导入数据库步骤: 链接在最底部,如会导入Excel,可直接到底部获取. 说明: 工作日  :0 法定节假日:1 休息日加班:2 休息日 :3 数据库新建日期表: 右击选择导 ...

  2. EXECL导入(检查服务器版本.包括NPOI方式导入.可以通过配置文件信息导入EXECL)代码记录下....

    在工作中很多要把EXECL的数据取出来的情况,因此,写一个相对通用的这种功能类很有必要.我因为当时只考虑了引用MS的EXECL类的情况,所以后面加入NPOI时这个类就有点显乱了,因为已经有人在用了,只 ...

  3. Execl导入问题之文本转换

    前些天在基础数据的导入过程中,遇到了这样一个问题:数据明明存在,可是就是不识别!给出的错误提示是:该数据对应的外键不存在! 我找出其中的一条数据,在外键表中查询是存在的!问题出在哪里了呢? 从exec ...

  4. java execl导入

    导入execl文件 public void test() throws Exception {File file = new File("D:/易耗品订货日(1)(1).xlsx" ...

  5. 利用EasyExecl对execl进行导入导出

    利用EasyExecl对execl进行导入导出 EasyExecl官方文档: https://www.yuque.com/easyexcel/doc/easyexcel 一.前言 这是我写的一个Eas ...

  6. SQLServer导入Excel截断数据的解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 使用SQL脚本把EXECL内容导入到MSSQL数据库时提示出现提示返回了列 '[Microsoft.Jet.OLEDB.4.0 ...

  7. 大数据基础数据之中国法定节假日API

    中国法定节假日API Date: November 16, 2021 1.背景 目前业务需求中,需要分析法定节假日.我们日常查看法定节假日,都是在百度或者某些日历中查看.但是,网上很少有通过API获得 ...

  8. java问卷导入excel,将Excel数据直接上传到问卷星

    一.什么样的数据可以上传 1.如果您已经有了一批报名者的数据,需要使用到问卷星的签到功能.可以将整理好的报名者数据,上传到系统中. 2.如果您有一批数据需要针对个人公开,可以先将数据上传到问卷星,再设 ...

  9. php之box/spout 导入导出功能

    官方文档Spout execl导入功能 /*** Common import file* @param $filePath string* @author : patti*/public static ...

最新文章

  1. python web页面输出_python+socket+jq实现web页面实时输出结果
  2. IP通信基础 4月28号
  3. nginx nodejs环境配置_服务器环境配置安装(mysql+redis+nodejs+nginx)
  4. Nginx图片防盗链、缓存和压缩的示例
  5. (译)如何制作一个类似tiny wings的游戏:第一部分
  6. 线性方程组(高斯消元)
  7. H5播放flv视频流
  8. mysql pk nn uq b un_MYSQL_WorkBench中创建新表时对PK NN UQ B UN ZF AI的理解
  9. 建立积分兑换商城的意义
  10. 服务器网口显示感叹号,业务服务器或更新服务器连接失败(认证失败,黄色感叹号)怎么回事?...
  11. (2) [保护模式]段描述符
  12. 谷歌与DeepMind的控制权之战,刚刚开始
  13. 数据库原理及应用期末复习汇总(附某高校期末真题试卷)
  14. 万维网服务器如何发送文档,服务器配置和管理教学讲义(39页)-原创力文档
  15. SpringMVC 自动注入 Request 和 Response 对象
  16. navicat连接远程服务器mysql报10060错误
  17. java抽象方法声明_java抽象类和抽象方法
  18. 推特群控营销:自动发帖模式
  19. PDF编辑技巧之添加页码和编辑文字
  20. 《Imbalance problems in object detection: A review》笔记

热门文章

  1. 使用廉价路由器让银行损失8000万美元
  2. Promise讲解,async和await修饰符
  3. 2.Makefile文件中包含哪些规则?
  4. 二维码生成免费API
  5. 【opencv-python】 cv2.bitwise_or(...)图像算术运算--按位或运算
  6. ()逻辑与、()按位与运算、(||)逻辑或、(|)按位或运算
  7. Python-nowcoder 求平均年龄放苹果
  8. C语言4种二维数组三角题
  9. JS UMD规范实现
  10. 腾讯云上传图片?就这!