add count for true/false
This commit is contained in:
parent
c044a7440f
commit
9baeca2b06
@ -7,6 +7,7 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/xuri/excelize/v2"
|
||||
)
|
||||
@ -14,6 +15,8 @@ import (
|
||||
type User struct {
|
||||
EVM string `json:"evm"`
|
||||
Email string `json:"email"`
|
||||
True int `json:"true"`
|
||||
False int `json:"false"`
|
||||
Tasks map[string]string `json:"tasks"`
|
||||
}
|
||||
|
||||
@ -69,17 +72,29 @@ func main() {
|
||||
// User already exists
|
||||
for i, h := range records[0][2:] {
|
||||
u.Tasks[h] = record[2+i]
|
||||
if strings.ToLower(record[2+i]) == "true" {
|
||||
u.True += 1
|
||||
} else if strings.ToLower(record[2+i]) == "false" {
|
||||
u.False += 1
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// New user
|
||||
u := &User{
|
||||
EVM: record[0],
|
||||
Email: record[1],
|
||||
True: 0,
|
||||
False: 0,
|
||||
Tasks: make(map[string]string),
|
||||
}
|
||||
users[u.EVM+`+`+u.Email] = u
|
||||
for i, h := range records[0][2:] {
|
||||
u.Tasks[h] = record[2+i]
|
||||
if strings.ToLower(record[2+i]) == "true" {
|
||||
u.True += 1
|
||||
} else if strings.ToLower(record[2+i]) == "false" {
|
||||
u.False += 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -102,8 +117,11 @@ func main() {
|
||||
// Fill headers
|
||||
f.SetCellValue("Sheet1", "A1", "EVM")
|
||||
f.SetCellValue("Sheet1", "B1", "Email")
|
||||
f.SetCellValue("Sheet1", "C1", "True")
|
||||
f.SetCellValue("Sheet1", "D1", "False")
|
||||
f.SetCellValue("Sheet1", "E1", "Empty")
|
||||
for k, v := range headers {
|
||||
i, _ := excelize.ColumnNumberToName(v + 3)
|
||||
i, _ := excelize.ColumnNumberToName(v + 6)
|
||||
f.SetCellValue("Sheet1", i+`1`, k)
|
||||
}
|
||||
|
||||
@ -111,8 +129,11 @@ func main() {
|
||||
for _, u := range users {
|
||||
f.SetCellValue("Sheet1", `A`+strconv.Itoa(uid), u.EVM)
|
||||
f.SetCellValue("Sheet1", `B`+strconv.Itoa(uid), u.Email)
|
||||
f.SetCellValue("Sheet1", `C`+strconv.Itoa(uid), u.True)
|
||||
f.SetCellValue("Sheet1", `D`+strconv.Itoa(uid), u.False)
|
||||
f.SetCellValue("Sheet1", `E`+strconv.Itoa(uid), len(headers)-u.True-u.False)
|
||||
for k, v := range u.Tasks {
|
||||
i, _ := excelize.ColumnNumberToName(headers[k] + 3)
|
||||
i, _ := excelize.ColumnNumberToName(headers[k] + 6)
|
||||
f.SetCellValue("Sheet1", i+strconv.Itoa(uid), v)
|
||||
}
|
||||
uid += 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user