2
.gitignore
vendored
2
.gitignore
vendored
@@ -15,4 +15,4 @@
|
|||||||
# Dependency directories (remove the comment below to include it)
|
# Dependency directories (remove the comment below to include it)
|
||||||
# vendor/
|
# vendor/
|
||||||
|
|
||||||
test/.~lock*
|
*.~lock*
|
||||||
|
|||||||
1
go.mod
1
go.mod
@@ -5,4 +5,5 @@ go 1.16
|
|||||||
require (
|
require (
|
||||||
github.com/360EntSecGroup-Skylar/excelize/v2 v2.3.2
|
github.com/360EntSecGroup-Skylar/excelize/v2 v2.3.2
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
|
github.com/matryer/is v1.4.0 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
2
go.sum
2
go.sum
@@ -3,6 +3,8 @@ github.com/360EntSecGroup-Skylar/excelize/v2 v2.3.2/go.mod h1:xc0ybJZXcn084ZaIvQ
|
|||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
|
||||||
|
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
||||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
|
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
|
||||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
|
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
|||||||
@@ -128,7 +128,7 @@
|
|||||||
"default": "Please choose"
|
"default": "Please choose"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"col": "E",
|
"col": "F",
|
||||||
"field": "Costs",
|
"field": "Costs",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "0"
|
"default": "0"
|
||||||
|
|||||||
@@ -43,14 +43,20 @@ func XLSX(r io.Reader, conf *Conf) (*ecalc.Ecalc, error) {
|
|||||||
for r := a.StartRow; r <= a.EndRow; r++ {
|
for r := a.StartRow; r <= a.EndRow; r++ {
|
||||||
sf := ecalc.SupplyFraction{}
|
sf := ecalc.SupplyFraction{}
|
||||||
for _, c := range a.Cols {
|
for _, c := range a.Cols {
|
||||||
|
axis := fmt.Sprintf("%s%d", c.Col, r)
|
||||||
cellValue, err := xFile.GetCellValue(
|
cellValue, err := xFile.GetCellValue(
|
||||||
xFile.GetSheetName(a.Sheet),
|
xFile.GetSheetName(a.Sheet),
|
||||||
fmt.Sprintf("%s%d", c.Col, r),
|
axis,
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = append(errs, err)
|
errs = append(errs, err)
|
||||||
}
|
}
|
||||||
set.Field(&sf, c.Field, cellValue)
|
err = set.Field(&sf, c.Field, cellValue)
|
||||||
|
if err != nil {
|
||||||
|
errs = append(errs,
|
||||||
|
fmt.Errorf("XLSXL.SupplyFraction: Sheet %d, Cell %s: %w",
|
||||||
|
a.Sheet, axis, err))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
eBalance.CompanyFacts.SupplyFractions =
|
eBalance.CompanyFacts.SupplyFractions =
|
||||||
append(
|
append(
|
||||||
|
|||||||
23
pkg/loader/loader_test.go
Normal file
23
pkg/loader/loader_test.go
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
package loader
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
_ "embed"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/matryer/is"
|
||||||
|
)
|
||||||
|
|
||||||
|
//go:embed test/testfile.xlsx
|
||||||
|
var tb []byte
|
||||||
|
|
||||||
|
func TestXLSX(t *testing.T) {
|
||||||
|
is := is.New(t)
|
||||||
|
buf := bytes.NewBuffer(tb)
|
||||||
|
got, err := XLSX(buf, nil)
|
||||||
|
is.NoErr(err) // no error for testfile
|
||||||
|
is.Equal(got.Version, "5.04") // version 5.04
|
||||||
|
is.Equal(got.CompanyFacts.TotalPurchaseFromSuppliers, 10000)
|
||||||
|
is.Equal(got.CompanyFacts.SupplyFractions[0].Costs, 500)
|
||||||
|
is.Equal(got.CompanyFacts.SupplyFractions[0].CountryCode, "ALB")
|
||||||
|
}
|
||||||
BIN
pkg/loader/test/testfile.xlsx
Normal file
BIN
pkg/loader/test/testfile.xlsx
Normal file
Binary file not shown.
Reference in New Issue
Block a user