value test works

This commit is contained in:
Andreas Schröpfer
2021-02-27 20:40:51 +01:00
parent cc6e58acd9
commit e0faa1fc7c
4 changed files with 261 additions and 0 deletions

56
cmd/conv/main.go Normal file
View File

@@ -0,0 +1,56 @@
package main
import (
"bytes"
_ "embed"
"fmt"
"log"
"strconv"
"git.ecogood.org/andreas.schroepfer/excelConverter/pkg/ecalc"
"git.ecogood.org/andreas.schroepfer/excelConverter/pkg/loader"
"git.ecogood.org/andreas.schroepfer/excelConverter/pkg/set"
excelize "github.com/360EntSecGroup-Skylar/excelize/v2"
)
//go:embed default.json
var defaultConf []byte
func main() {
buf := bytes.NewBuffer(defaultConf)
conf := &loader.Conf{}
err := conf.DecodeJSON(buf)
//fmt.Println(err, conf)
eBalance := ecalc.Ecalc{
CompanyFacts: ecalc.CompanyFacts{},
}
xFile, err := excelize.OpenFile("../../test/gwb-rechner_5_0_4_vollbilanz.xlsx")
fmt.Println("openFile err :", err)
//sheets := make(map[int])
for _, v := range conf.Values {
cellValue, err := xFile.GetCellValue(
xFile.GetSheetName(v.Sheet),
v.Cell,
)
if err != nil {
log.Println("error", err)
}
var inValue interface{}
switch v.Struct {
case "CompanyFacts":
switch v.Type {
case "int":
inValue, err = strconv.Atoi(cellValue)
if err != nil {
fmt.Println(xFile.GetSheetName(v.Sheet))
fmt.Println("err ATOI", err)
}
default:
inValue = cellValue
}
set.Field(&eBalance.CompanyFacts, v.Field, inValue)
}
}
fmt.Printf("%#v", eBalance)
}