add count for true/false

This commit is contained in:
shoopea 2025-02-23 19:19:48 +01:00
parent c044a7440f
commit 9baeca2b06

View File

@ -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