aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-03-04 14:14:47 +0100
committerMartin Polden <mpolden@mpolden.no>2023-03-04 14:14:47 +0100
commit363be0273f10883e7224a33ae6311aaf30cdc822 (patch)
treebce2ec1db4c81df8db3b4a47b6698b06d3445c20
parentb5a961995df2eed0ead37ef63bbf43166841d260 (diff)
dnb: follow excelize api changes
-rw-r--r--record/dnb/dnb.go13
1 files changed, 9 insertions, 4 deletions
diff --git a/record/dnb/dnb.go b/record/dnb/dnb.go
index ac6f9ad..7a66a4c 100644
--- a/record/dnb/dnb.go
+++ b/record/dnb/dnb.go
@@ -59,7 +59,7 @@ func (r *Reader) Read() ([]record.Record, error) {
return nil, fmt.Errorf("xlsx contains 0 sheets")
}
firstSheet := data.GetSheetName(0)
- rows, err := data.GetRows(firstSheet)
+ rows, err := data.GetRows(firstSheet, excelize.Options{RawCellValue: true})
if err != nil {
return nil, err
}
@@ -74,10 +74,15 @@ func (r *Reader) Read() ([]record.Record, error) {
if cells[0] == "" { // Missing date
continue
}
- time, err := time.Parse("02.01.2006", cells[0])
+ excelTime, err := strconv.ParseFloat(cells[0], 64)
if err != nil {
- return nil, fmt.Errorf("invalid date: %q: %w", cells[0], err)
+ return nil, fmt.Errorf("invalid time value: %q: %w", cells[0], err)
}
+ recordTime, err := excelize.ExcelDateToTime(excelTime, false)
+ if err != nil {
+ return nil, fmt.Errorf("invalid date: %f: %w", excelTime, err)
+ }
+ recordTime = recordTime.Truncate(24 * time.Hour)
amountIn, err := r.parseAmount(cells[4])
if err != nil {
return nil, fmt.Errorf("invalid amount: %q: %w", cells[4], err)
@@ -88,7 +93,7 @@ func (r *Reader) Read() ([]record.Record, error) {
}
amount := amountIn - amountOut
r := record.Record{
- Time: time,
+ Time: recordTime,
Text: cells[1],
Amount: amount,
}