go xlsx一键导入

//一键导入
func (m *Supplier) GetFiles() {
file, h, _ := m.GetFile("file") //获取上传的文件
ext := path.Ext(h.Filename)
//验证后缀名是否符合要求
AllowExtMap := map[string]bool{
".xlsx": true,
}
if _, ok := AllowExtMap[ext]; !ok {
m.JsonResult(common.HttpCodeFail, "后缀名不符合上传要求")
return
}

xlsx, err := excelize.OpenReader(file)
if err != nil {
m.JsonResult(common.HttpCodeFail, "文件打开失败")
return
}
SheetMap := xlsx.GetSheetMap()
list, err1 := models.NewSupplierClass().SupplierClassList()
if err1 != nil {
m.JsonResult(common.HttpCodeFail, "获取失败")
return
}

for _, b := range list {
for _, v := range SheetMap {
if v == b["supplier_class_name"].(string) {
fmt.Println(v)
fmt.Println( b["supplier_class_name"].(string) )
id := b["supplier_class_id"].(string)
supplier_class_id, _ := strconv.Atoi(id)
rows := xlsx.GetRows(v)
for i, row := range rows {
if i > 0 {
supplier_name := row[2]
phone := row[7]
Name := row[6]
Manufacturers := row[4]
SetUp := row[9]
Content := row[3]
Classify := row[1]
Code := row[5]
Taxes := row[10]
Evaluate := row[11]
EvaluateStatus := row[12]
Source := row[13]
Principal := row[8] //1
_, b := models.NewSupplier().AddSupplier(supplier_name, phone, Name, Manufacturers, SetUp, Content, Classify, Code, Taxes, Evaluate, EvaluateStatus, Source, Principal, supplier_class_id)
if !b {
m.JsonResult(common.HttpCodeFail, "该供应商名称:"+row[2]+" 已存在")
}
}
}
}
}

}

m.JsonResult(common.HttpCodeOk, "成功")
return

}
posted @ 2023-03-14 16:57  杨鑫Zz  阅读(38)  评论(0编辑  收藏  举报