OleDB简单CSV导入

时间:2018-03-06 17:23:42

标签: c# oledb

下面的代码提示用户选择csv文件,然后根据列名称将数据解析到数据表中。因此,如果CSV文件的第一行显示" Col1"并且表中有一个" Col1"在列中,Col1下CSV文件中的所有数据都将作为填充在DataTables Col1下的行放入。

如果CSV中的列名称与DataTable中的任何内容不匹配,则会抛出"外部表格不符合预期格式。"错误。

我想更改系统,以便以不太智能的方式上传。然后我将为用户提供在WPF窗口中手动分配列的选项。

有谁知道如何让它只上传原始数据?忽略列名,只将CSV的第一列中的所有内容放入DataTable的第一列?

try
{
    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    if (openFileDialog1.ShowDialog().Value)
        Console.Out.WriteLine(openFileDialog1.FileName);

    string pathConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + openFileDialog1.FileName + ";Extended Properties=\"Excel 8.0;HDR=No;IMEX=2\"";
    OleDbConnection conn = new OleDbConnection(pathConn);

    OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * from [" + "sheet1" + "$]", conn);

    myDataAdapter.Fill(displayTable);

} catch (Exception e)
{
    MessageBox.Show("Error! : " + e.Message);
    Console.Out.WriteLine(e.Message);
}

0 个答案:

没有答案