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" "os"
"path/filepath" "path/filepath"
"strconv" "strconv"
"strings"
"github.com/xuri/excelize/v2" "github.com/xuri/excelize/v2"
) )
@ -14,6 +15,8 @@ import (
type User struct { type User struct {
EVM string `json:"evm"` EVM string `json:"evm"`
Email string `json:"email"` Email string `json:"email"`
True int `json:"true"`
False int `json:"false"`
Tasks map[string]string `json:"tasks"` Tasks map[string]string `json:"tasks"`
} }
@ -69,17 +72,29 @@ func main() {
// User already exists // User already exists
for i, h := range records[0][2:] { for i, h := range records[0][2:] {
u.Tasks[h] = record[2+i] 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 { } else {
// New user // New user
u := &User{ u := &User{
EVM: record[0], EVM: record[0],
Email: record[1], Email: record[1],
True: 0,
False: 0,
Tasks: make(map[string]string), Tasks: make(map[string]string),
} }
users[u.EVM+`+`+u.Email] = u users[u.EVM+`+`+u.Email] = u
for i, h := range records[0][2:] { for i, h := range records[0][2:] {
u.Tasks[h] = record[2+i] 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 // Fill headers
f.SetCellValue("Sheet1", "A1", "EVM") f.SetCellValue("Sheet1", "A1", "EVM")
f.SetCellValue("Sheet1", "B1", "Email") 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 { for k, v := range headers {
i, _ := excelize.ColumnNumberToName(v + 3) i, _ := excelize.ColumnNumberToName(v + 6)
f.SetCellValue("Sheet1", i+`1`, k) f.SetCellValue("Sheet1", i+`1`, k)
} }
@ -111,8 +129,11 @@ func main() {
for _, u := range users { for _, u := range users {
f.SetCellValue("Sheet1", `A`+strconv.Itoa(uid), u.EVM) f.SetCellValue("Sheet1", `A`+strconv.Itoa(uid), u.EVM)
f.SetCellValue("Sheet1", `B`+strconv.Itoa(uid), u.Email) 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 { 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) f.SetCellValue("Sheet1", i+strconv.Itoa(uid), v)
} }
uid += 1 uid += 1