Excel Reader Numeri c Тип - PullRequest
       11

Excel Reader Numeri c Тип

0 голосов
/ 06 января 2020

У меня есть данные в Excel. Некоторые из моих полей в Excel имеют тип float. Excel объединяет значения с плавающей точкой, когда я читаю. Например (5,5 -> 55 или 4,5 -> 45) Мой код приведен ниже. Я буду рад, если вы сможете мне помочь enter image description here

Public Shared Function GetDataSet(udControl As blnUploadDownload, Optional IsFirstRowAsColumnNames As Boolean = False) As DataSet
    Dim fileName As String = ""
    Dim fStream As Stream = Nothing

    Try
        If udControl.FileUpload.PostedFile IsNot Nothing AndAlso udControl.FileUpload.PostedFile.ContentLength > 0 Then
            If Not String.IsNullOrEmpty(udControl.GetDBValue) Then

                fileName = udControl.FileUpload.PostedFile.FileName
                fStream = udControl.FileUpload.FileContent
            End If
        Else
            If Not String.IsNullOrEmpty(udControl.GetDBValue) AndAlso udControl.EnableAsync Then
                fileName = udControl.GetDBValue
                Dim TempFilePath As String = BlnApp.GetDocPath(udControl.DocType, udControl.DocClass) & "\Temp"
                Dim filePath As String = Path.Combine(TempFilePath, fileName)
                fStream = New FileStream(filePath, FileMode.Open)
            End If
        End If

        Dim extension As String = Path.GetExtension(fileName).ToLower
        Dim excelReader As IExcelDataReader = Nothing
        If extension = ".xls" Then
            excelReader = ExcelReaderFactory.CreateBinaryReader(fStream)
        ElseIf extension = ".xlsx" Then
            excelReader = ExcelReaderFactory.CreateOpenXmlReader(fStream)
        End If
        excelReader.IsFirstRowAsColumnNames = IsFirstRowAsColumnNames

        Return excelReader.AsDataSet()
    Catch ex As Exception
        LogError(ex)
        Return Nothing
    Finally
        fStream.Close()
    End Try
End Function
...