Datagridview列值显示问题

我无法解决以下问题:

  • 连接到Excel(oledb连接)
  • 将所有数据提取到datagridview

从Excel中提取的示例源(Col1到Col3 Excel属性是“常规”,Col4是date特定的):

 Col1 Col2 Col3 Col4 Text1 1.5 288.77 3/1/2013 Text2 1.3 352.47 3/1/2013 Text3 1a 206.93 3/1/2013 Text4 1 206.93 3/1/2013 Text5 1 206.93 3/1/2013 
  • 一旦datagridviewDataGridView.AutoGenerateColumns=True )中的datagridview ,似乎认为Col2只包含整数,并不显示不是整数的单元格值。

从datagridview中获取示例:

  Col1 Col2 Col3 Col4 Text1 1.5 288.77 3/1/2013 Text2 1.3 352.47 3/1/2013 Text3 206.93 3/1/2013 Text4 1 206.93 3/1/2013 Text5 1 206.93 3/1/2013 
  • 实际的问题是,我正在validationdatagridview中的数据对XML文件,并certificate一个日志,它给了用户rowID和实际的源值。 我似乎无法从datagridview中获得相同的值。
  • 到目前为止我发现的唯一的部分解决scheme是明确地将所有的Excel字段转换为文本,但显然混乱了一些字段(例如:date字段)。

如何获取datagridview中的所有源文件值,然后执行所有后续的数据validation任务?

它看起来像只是试图将Excel原始数据(如在Excel表格中格式化)提取到datagridview中以显示目的,然后执行其他数据validation。 我build议使用下面的混合列连接string示例(IMEX):

 strConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + strFilePath + ";Jet OLEDB:Engine Type=5;Extended Properties='Excel 12.0;HDR=NO;IMEX=1'"; 

我会build议创build一个DataTable与具有所需types的数据列,然后将数据到DataTable中。 最后,将DataTable绑定到DataGridview

使用csharp读取excel-file-with-sheet-wise-into-dataset-using-csharp可能对您有所帮助。 你真的不需要知道任何有关文件中的数据来构build一个可用的表。