使用vb.net获取Excel单元格的值有些麻烦。
事实上,我有一个excel或csv文件,其中包含来自测试的数据。第一列包含时间点,第二列包含功率数据。
appExcel = CreateObject("Excel.Application")
appExcel.Visible = True
wbExcel = appExcel.Workbooks.Open(Dossier & NomduFichier, Local:=True)
wsExcelWorksheets = wbExcel.Worksheets
WsData = wsExcelWorksheets(1)
WsData.Select()
LigneMax = WsData.Application.WorksheetFunction.CountA(WsData.Columns(1)))-1
ReDim Temps(LigneMax)
ReDim Puissance(LigneMax)
ReDim Ic(LigneMax)
ReDim Ia(LigneMax)
ReDim Frequence(LigneMax)
ReDim Us(LigneMax)
WsData.Range("A1:A" & LigneMax).Select()
WsData.Range("A1:A" & LigneMax).NumberFormat = "@"
For i As Integer = 0 To 50
Temps(i) = WsData.Cells(i + 1, 1).Value
Puissance(i) = WsData.Range("B" & i + 1).Value2
TextBox1.Text = i & "/" & LigneMax * 2
Next
wbExcel.Close()
WsData = Nothing
wsExcelWorksheets = Nothing
wbExcel = Nothing
appExcel = Nothing
但是当我查看“ Temps(i)= WsData.Cells(i + 1,1).Value”的结果时,结果是:“ 0.07 55”而不是“ 0.0755”。在单元格值的中间插入一个空格,我什么都不能使用它。
为了解决该问题,我尝试将列设置为文本格式,但没有任何更改。我用单元格替换了Range,但这是相同的结果..
如果有人有一些信息可以帮助我,那对我来说真的很有用。
非常感谢。
Here is a picture of my excel doc :
And here is the result of the ligne :"Temps(i) = WsData.Cells(i + 1, 1).Value"