从Excel向VB.net收费数据有问题吗?

时间:2018-11-28 14:23:34

标签: excel vb.net

使用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"

0 个答案:

没有答案