2016-04-27 8 views
1

Stuck beim Abrufen von Zahl Typ (Format) Zelle Wert aus einer XLS-Datei in Go-Programm. Die Datei hat Namen (Text), Due_amount (Anzahl) Spalten darin. Ich verwende das Paket github.com/extrame/xls.Lesen Anzahl Typ Zelle aus xls-Datei in Golang

Mein Code ist:

if sheet1 := xlFile.GetSheet(0); sheet1 != nil { 
    col1 := sheet1.Rows[0].Cols[0] 
    col2 := sheet1.Rows[0].Cols[0] 
    for i := 0; i <= (int(sheet1.MaxRow)); i++ { 
     row1 := sheet1.Rows[uint16(i)] 
     col1 = row1.Cols[0] 
     col2 = row1.Cols[1] 
     fmt.Print("\n", col1.String(xlFile), ",", col2.String(xlFile)) 
     } 
    } 
} 

Die col2.String (xlFile) gibt falsche Werte, weil Spalte 2 Nummerntyp-Einträge.

Meine xls-Datei Inhalte sind:

COL1 | COL2 
ADAM | 69057 
JHON | 4926 
BILL | 22792 

Laufen mein Programm auf diese Werte wie gibt:

[ADAM],[2089.01] 
[JHON],[1913.06] 
[BILL],[1962.05] 

Wie kann ich einen Zahlenwert bekommen? Kann mir jemand sagen, wie ich das überwinden kann?

+0

könnten Sie etwas ausführlicher über die Werte geben und was Sie erwarten, dass sie sein? –

+0

Hi matt.s Bitte überprüfen Sie meine aktualisierte Frage – Hardy

Antwort

0

Ich glaube Excel behandelt Zelle Werte anders, wenn sie numerisch sind.

Die Dokumentation ist spärlich, aber vielleicht versuchen, den Wert auf eine *NumberCol wie die Umwandlung so:

row1.Cols[1].(*xls.NumberCol)

+0

Kannst du mir einen besseren Weg vorschlagen, mit xls-Dateien umzugehen? und übrigens row1.Cols [1]. (* NumberCol) sagt: undefined: NumberCol – Hardy

+0

@Hardy, tut mir leid, Sie brauchen 'row1.Cols [1]. (* Xls.NumberCol)' ; oben bearbeitet –

Verwandte Themen