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