2016-04-27 39 views
1

陷入从Go程序中的xls文件获取数字类型(格式)单元格值。该文件具有名称(文本),Due_amount(数字)列。 我正在使用github.com/extrame/xls软件包。在golang中从xls文件读取数字类型单元格

我的代码是:

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)) 
     } 
    } 
} 

的col2.String(xlFile)给出错误的值,因为第2列具有数类型的条目。

我xls文件内容为:

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

运行我的程序在这给像值:

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

我怎样才能得到一个数值? 有人能告诉我如何克服这个问题吗?

+0

你可以给有关的价值观和你希望他们成为怎样的一些细节? –

+0

嗨matt.s请检查我更新的问题 – Hardy

回答

0

我相信如果excel是数值,excel处理的单元格值会有所不同。

的文档是稀疏,但也许尝试值转换为*NumberCol像这样:

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

+0

你能建议我一个更好的方式来处理xls文件吗? (* NumberCol)说:undefined:NumberCol – Hardy

+0

@Hardy,对不起,你需要'row1.Cols [1]。(* xls.NumberCol)' ;上面编辑 –