Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将CSV加载到DataGridView_C#_Csv_Datagridview_Odbc - Fatal编程技术网

C# 将CSV加载到DataGridView

C# 将CSV加载到DataGridView,c#,csv,datagridview,odbc,C#,Csv,Datagridview,Odbc,以下是我在WinForms应用程序中将CSV文件加载到my DataGridView中的代码: private void loadCSV(string path) { if (!File.Exists(path)) { MessageBox.Show(this, "File does not exist:\r\n" + path, "No File", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } t

以下是我在WinForms应用程序中将CSV文件加载到my DataGridView中的代码:

private void loadCSV(string path)
{
  if (!File.Exists(path))
  {
    MessageBox.Show(this, "File does not exist:\r\n" + path, "No File", MessageBoxButtons.OK, MessageBoxIcon.Stop);
    return;
  }

  try
  {
    string conStr = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=C:;Extensions=csv,txt";
    OdbcConnection conn = new OdbcConnection(conStr);
    OdbcDataAdapter da = new OdbcDataAdapter("Select * from " + path, conn);

    dt = new DataTable(path);
    da.Fill(dt);

    this.path = path;
    dataGridView.DataSource = dt;

    da.Dispose();
    conn.Close();
    conn.Dispose();
  }
  catch (Exception ex)
  {
    MessageBox.Show(this, "There was an error loading the CSV file:\r\n" + ex.Message, "IO Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    return;
  }
}
它适用于几乎所有有效的CSV文件,但文件夹中具有特定字符的文件除外

e、 g.这对我有用

  • C:\Users\Public\Desktop\MyCSV.csv
但不是为了

  • C:\Users\Public\Desktop\My Folder\MyCSV.csv

有人知道我怎么修吗?我想我需要以某种方式增加对比。

将select语句更改为

OdbcDataAdapter da = new OdbcDataAdapter("Select * from [" + path + "]", conn);

文件名中的空格会将其注销。

您所说的“不工作”是什么意思,以及用于哪些字符?您可以发布错误吗?42S02“Microsoft Jet数据库引擎找不到对象”先生,如果需要,您可以提供帮助。如果我可以从我的datagriview创建csv文件?我只是按照您的指示更改了行,但仍然收到一个错误:42S02“Microsoft Jet数据库引擎无法找到对象”…在您的连接字符串中,将
Dbq=
”更改为您正在使用的文件夹,并在select语句中执行
select*from[some filename.csv]
。这最终起到了作用:
string conStr=@“Driver={Microsoft Text Driver(*.txt;*.csv)};Dbq=“+Path.GetDirectoryName(Path.GetFullPath(Path))+“Extensions=csv,txt”
OdbcDataAdapter da=new OdbcDataAdapter(“从[”+路径.GetFileName(Path)+“]中选择*”,康涅狄格州)先生,我正在调查备份winform的数据。所以我想制作csv文件。那么我可以从datagridview数据创建csv文件吗?