|
@@ -394,11 +394,25 @@ func GetXlsxs(mMap []map[string]interface{}, fn, email, id string) {
|
|
|
if err != nil {
|
|
|
log.Println("fields file not foud", err.Error())
|
|
|
}
|
|
|
+ newFile := xlsx.NewFile()
|
|
|
if dataType == 1 {
|
|
|
sh := xf.Sheets[0]
|
|
|
- for i, v := range mMap {
|
|
|
- row := sh.AddRow()
|
|
|
- row.AddCell().SetInt(i + 1)
|
|
|
+ sheetIndex := map[string]int{}
|
|
|
+ for _, v := range mMap {
|
|
|
+ // 拿到所选字段包的sheet页 如果item存在则追加 不存在则创建新sheet页
|
|
|
+ var sheet *xlsx.Sheet
|
|
|
+ if v["item"].(string)==""{
|
|
|
+ v["item"] = "其他方式"
|
|
|
+ }
|
|
|
+ if _,ok :=newFile.Sheet[v["item"].(string)];ok{
|
|
|
+ sheet = newFile.Sheet[v["item"].(string)]
|
|
|
+ sheetIndex[v["item"].(string)] += 1
|
|
|
+ }else {
|
|
|
+ sheet ,err =newFile.AppendSheet(*sh,v["item"].(string))
|
|
|
+ sheetIndex[v["item"].(string)] = 1
|
|
|
+ }
|
|
|
+ row := sheet.AddRow()
|
|
|
+ row.AddCell().SetInt(sheetIndex[v["item"].(string)])
|
|
|
row.AddCell().SetValue(v["matchkey"])
|
|
|
row.AddCell().SetValue(v["area"])
|
|
|
row.AddCell().SetValue(v["city"])
|
|
@@ -422,11 +436,20 @@ func GetXlsxs(mMap []map[string]interface{}, fn, email, id string) {
|
|
|
ids := SE.EncodeString(qu.ObjToString(v["id"]))
|
|
|
row.AddCell().SetValue(ids)
|
|
|
}
|
|
|
- xf.Sheets = xf.Sheets[0:1]
|
|
|
+ //xf.Sheets = xf.Sheets[0:1]
|
|
|
} else if dataType == 2 {
|
|
|
sh := xf.Sheets[1]
|
|
|
for _, v := range mMap {
|
|
|
- row := sh.AddRow()
|
|
|
+ if v["item"].(string)==""{
|
|
|
+ v["item"] = "其他方式"
|
|
|
+ }
|
|
|
+ var sheet *xlsx.Sheet
|
|
|
+ if _,ok :=newFile.Sheet[v["item"].(string)];ok{
|
|
|
+ sheet = newFile.Sheet[v["item"].(string)]
|
|
|
+ }else {
|
|
|
+ sheet ,err =newFile.AppendSheet(*sh,v["item"].(string))
|
|
|
+ }
|
|
|
+ row := sheet.AddRow()
|
|
|
// row.AddCell().SetInt(i + 1)
|
|
|
row.AddCell().SetValue(v["matchkey"])
|
|
|
row.AddCell().SetValue(v["area"])
|
|
@@ -473,11 +496,20 @@ func GetXlsxs(mMap []map[string]interface{}, fn, email, id string) {
|
|
|
row.AddCell().SetValue(ids)
|
|
|
|
|
|
}
|
|
|
- xf.Sheets = xf.Sheets[1:2]
|
|
|
+ //xf.Sheets = xf.Sheets[1:2]
|
|
|
} else if dataType == 3 {
|
|
|
sh := xf.Sheets[2]
|
|
|
for _, v := range mMap {
|
|
|
- row := sh.AddRow()
|
|
|
+ if v["item"].(string)==""{
|
|
|
+ v["item"] = "其他方式"
|
|
|
+ }
|
|
|
+ var sheet *xlsx.Sheet
|
|
|
+ if _,ok :=newFile.Sheet[v["item"].(string)];ok{
|
|
|
+ sheet = newFile.Sheet[v["item"].(string)]
|
|
|
+ }else {
|
|
|
+ sheet ,err =newFile.AppendSheet(*sh,v["item"].(string))
|
|
|
+ }
|
|
|
+ row := sheet.AddRow()
|
|
|
// row.AddCell().SetInt(i + 1)
|
|
|
row.AddCell().SetValue(v["departname"])
|
|
|
row.AddCell().SetValue(v["rulename"])
|
|
@@ -518,11 +550,20 @@ func GetXlsxs(mMap []map[string]interface{}, fn, email, id string) {
|
|
|
ids := SE.EncodeString(qu.ObjToString(v["id"]))
|
|
|
row.AddCell().SetValue(ids)
|
|
|
}
|
|
|
- xf.Sheets = xf.Sheets[2:3]
|
|
|
+ //xf.Sheets = xf.Sheets[2:3]
|
|
|
} else if dataType == 4 {
|
|
|
sh := xf.Sheets[3]
|
|
|
for _, v := range mMap {
|
|
|
- row := sh.AddRow()
|
|
|
+ if v["item"].(string)==""{
|
|
|
+ v["item"] = "其他方式"
|
|
|
+ }
|
|
|
+ var sheet *xlsx.Sheet
|
|
|
+ if _,ok :=newFile.Sheet[v["item"].(string)];ok{
|
|
|
+ sheet = newFile.Sheet[v["item"].(string)]
|
|
|
+ }else {
|
|
|
+ sheet ,err =newFile.AppendSheet(*sh,v["item"].(string))
|
|
|
+ }
|
|
|
+ row := sheet.AddRow()
|
|
|
// row.AddCell().SetInt(i + 1)
|
|
|
row.AddCell().SetValue(v["departname"])
|
|
|
row.AddCell().SetValue(v["rulename"])
|
|
@@ -570,11 +611,20 @@ func GetXlsxs(mMap []map[string]interface{}, fn, email, id string) {
|
|
|
ids := SE.EncodeString(qu.ObjToString(v["id"]))
|
|
|
row.AddCell().SetValue(ids)
|
|
|
}
|
|
|
- xf.Sheets = xf.Sheets[3:4]
|
|
|
+ //xf.Sheets = xf.Sheets[3:4]
|
|
|
} else if dataType == 5 {
|
|
|
sh := xf.Sheets[4]
|
|
|
for _, v := range mMap {
|
|
|
- row := sh.AddRow()
|
|
|
+ if v["item"].(string)==""{
|
|
|
+ v["item"] = "其他方式"
|
|
|
+ }
|
|
|
+ var sheet *xlsx.Sheet
|
|
|
+ if _,ok :=newFile.Sheet[v["item"].(string)];ok{
|
|
|
+ sheet = newFile.Sheet[v["item"].(string)]
|
|
|
+ }else {
|
|
|
+ sheet ,err =newFile.AppendSheet(*sh,v["item"].(string))
|
|
|
+ }
|
|
|
+ row := sheet.AddRow()
|
|
|
// row.AddCell().SetInt(i + 1)
|
|
|
row.AddCell().SetValue(v["matchkey"]) //信息匹配词
|
|
|
row.AddCell().SetValue(v["city"]) //城市
|
|
@@ -625,9 +675,9 @@ func GetXlsxs(mMap []map[string]interface{}, fn, email, id string) {
|
|
|
row.AddCell().SetValue(v["jybxhref"])
|
|
|
//row.AddCell().SetValue(v["projectcode"])
|
|
|
}
|
|
|
- xf.Sheets = xf.Sheets[4:5]
|
|
|
+ //xf.Sheets = xf.Sheets[4:5]
|
|
|
}
|
|
|
- xf.Sheets[0].Name = "详细数据"
|
|
|
+ //xf.Sheets[0].Name = "详细数据"
|
|
|
//生文件
|
|
|
t := strconv.FormatInt(time.Now().Unix(), 10)
|
|
|
dir := "./web/res/xlsx/" + t + "/"
|
|
@@ -638,7 +688,8 @@ func GetXlsxs(mMap []map[string]interface{}, fn, email, id string) {
|
|
|
}
|
|
|
}
|
|
|
fname := t + ".xlsx"
|
|
|
- err = xf.Save(dir + fname)
|
|
|
+ //err = xf.Save(dir + fname)
|
|
|
+ err = newFile.Save(dir + fname)
|
|
|
if err != nil {
|
|
|
log.Println("xls error", fname)
|
|
|
} else {
|