【问题标题】:c# OleDbConnection csv to excel skips first line from csvc# OleDbConnection csv to excel跳过csv的第一行
【发布时间】:2014-07-16 19:13:42
【问题描述】:

当出于某种原因使用此代码时,它会跳过 csv 文件的第一行,即标题。我做错了什么?

string strFileName = path;
                OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " + System.IO.Path.GetDirectoryName(strFileName) + "; Extended Properties = \"Text\"");
                conn.Open();
                OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM " + System.IO.Path.GetFileName(strFileName), conn);
                DataSet ds = new DataSet("Temp");
                adapter.Fill(ds);
                DataTable tb = ds.Tables[0];
                string data = null;
                for (int j = 0; j <= tb.Rows.Count - 1; j++)
                {
                    for (int k = 0; k <= tb.Columns.Count - 1; k++)
                    {

                        data = tb.Rows[j].ItemArray[k].ToString();
                        SaturnAddIn.getInstance().Application.ActiveWorkbook.ActiveSheet.Cells[j + 1, k + 1] = data;
                    }
                }

【问题讨论】:

    标签: c# excel csv oledb


    【解决方案1】:

    它将跳过第一行标题,除非您使用:

    Extended Properties=Text;HDR=No;
    

    但在这种情况下,它将第一行视为数据行,这可能(在某些阶段)会导致数据类型错误。

    通常您会跳过第一行,并在 Excel 中手动创建标题。

    【讨论】:

    • 我过去曾在这个答案中使用过这种技术并取得了很大的成功。此外,这个网站过去对我的连接字符串的启动和运行非常有帮助:connectionstrings.com。以下是他们在 Jet OLE DB Provider 上的连接字符串的链接:connectionstrings.com/microsoft-jet-ole-db-4-0
    • 我忘了我有一个schemes.ini文件,它优先。
    【解决方案2】:

    This comment 在将完整路径传递到 SELECT 语句时注意到相同的行为。由于OleDbConnection中提供了文件的目录,因此不需要第二次提供。

    有一些类似的注释at this answer (to a different question) 表明路径也应该在连接中。

    它还建议使用“真正的”CSV 解析器。

    【讨论】:

      【解决方案3】:

      还发现,当 HDR=YES 时,您可以使用 table.Columns[0].ColumnName 并使用某种循环来获取第一列。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-01
        • 2012-06-09
        • 2015-09-18
        • 1970-01-01
        • 2022-11-15
        相关资源
        最近更新 更多