Datagridview列值显示问题

时间:2013-07-08 16:09:09

标签: c# excel datagridview

我无法解决以下问题:

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

从Excel获取的示例源(Col1到Col3 Excel属性为“常规”,Col4为特定于日期):

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
  • 数据在datagridview后 (DataGridView.AutoGenerateColumns=True),似乎需要 授予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
  • 实际问题是我正在验证datagridview中的数据 针对XML文件,并证明了一个给用户rowID的日志 和实际的源值。我似乎无法获得相同的价值 datagridview。
  • 到目前为止我发现的唯一部分解决方案是明确的 将所有Excel字段转换为文本,但这显然会弄乱一些 字段(例如:日期字段)。

如何在datagridview中获取所有SOURCE FILE值,然后执行所有后续数据验证任务?

3 个答案:

答案 0 :(得分:0)

我建议使用具有所需类型的数据列创建DataTable,然后将数据导入DataTable。最后,将DataTable绑定到DataGridview

答案 1 :(得分:0)

read-a-excel-file-with-sheet-wise-into-dataset-using-csharp可能对您有所帮助。 你真的不需要知道文件中的数据有什么东西来构建一个可用的表。

答案 2 :(得分:0)

看起来您只是尝试将Excel原始数据(因为它在Excel工作表中格式化)提取到datagridview中以进行显示,然后执行其他数据验证。 我建议使用下面的混合列连接字符串示例(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'";
相关问题