C# 从Excel导入到datagridview时缺少值

C# 从Excel导入到datagridview时缺少值,c#,winforms,datagridview,datatable,C#,Winforms,Datagridview,Datatable,我有一个Winform应用程序,可以将excel文件导入datagridview。 它运行良好,但只有一个问题: excel文件中有两列是整数。 如果我更改其中一列的值并添加一个非整数的字符, datagridview中缺少该值 我尝试将excel文件中的列属性更改为“Text”,因为列类型最初是“Double”,但它仍然不会影响datagridview 我还尝试使用我需要的类型all as string创建自己的列,然后克隆datatable并将克隆的列添加到datagridview,但仍然存

我有一个Winform应用程序,可以将excel文件导入datagridview。 它运行良好,但只有一个问题: excel文件中有两列是整数。 如果我更改其中一列的值并添加一个非整数的字符, datagridview中缺少该值

我尝试将excel文件中的列属性更改为“Text”,因为列类型最初是“Double”,但它仍然不会影响datagridview

我还尝试使用我需要的类型all as string创建自己的列,然后克隆datatable并将克隆的列添加到datagridview,但仍然存在相同的问题

以下是单击导入按钮时的代码:

private void btnImport_Click(object sender, EventArgs e)
{
            #region Import from the Excel
            try
            {
                string pathConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txtPath.Text + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";";
                OleDbConnection conn = new OleDbConnection(pathConn);
                OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * from [" + sheetName + "$]", conn);
                System.Data.DataTable dt = new System.Data.DataTable();

                myDataAdapter.Fill(dt);

                System.Data.DataTable dtCloned = dt.Clone();
                foreach (DataColumn col in dtCloned.Columns)
                {
                    col.DataType = typeof(String);
                }

                foreach (DataRow row in dt.Rows)
                {
                    dtCloned.ImportRow(row);
                }

                ExceldataGridView.DataSource = dtCloned;


                dt.Dispose();
                myDataAdapter.Dispose();
                conn.Close();
            }
            catch
            {
                MessageBox.Show("Error");
                return;
            }

            #endregion
  }

任何人需要你的帮助,请找到解决办法。使用IMEX=1属性设置提供程序。Provider=Microsoft.Jet.OLEDB.4.0;数据源=+txtPath.Text+;扩展属性=\Excel 8.0;IMEX=1;HDR=是;\;;