在不丢失数据的情况下从excel文件中读取的最佳方法是什么? Excel工作表在使用ADO读取时将列格式化为HH:MM:SS,时间格式更改为日期并丢失实际值:
来自excel的示例:
导入到网格视图后:
代码:
Try
' Clear the DataGridView and the connection string TextBox
Dim Datatable As New DataTable("Sometable")
' Fill the DataGridView and connection string TextBox
Using connection As New OleDb.OleDbConnection(Super.Excel_GetConnectionString(txtZDCalc_txtPerPath.Text, txtZDCalc_txtPerPath.Tag))
connection.Open()
Using adapter As New OleDb.OleDbDataAdapter("SELECT * FROM [" & cboxZDCalc_Sheet.SelectedItem & "]", connection)
adapter.Fill(Datatable)
End Using
End Using
Super.ZD_GetEmployees(Datatable)
Catch ex As Exception
' Display any errors
MessageBox.Show("[" & ex.[GetType]().Name & "] " & ex.Message & ex.StackTrace)
End Try
为什么导入时间后会丢失值?
答案 0 :(得分:0)
听起来好像要显示TimeSpan而不是日期。 Excel将单元格的值存储为日期时间,并使用格式控制它的显示方式。
您要做的是将DataTable中列的数据类型更改为TimeSpan
请点击此处了解如何执行此操作:How To Change DataType of a DataColumn in a DataTable?