0

我正在开发一个项目,基本上是如下所示的流程 阅读 2 Csv 文件 逐行比较其内容并逐列识别不同的行,甚至按列创建一个新的 Csv 文件以包含差异

遇到的问题:

  1. 我无法读取 csv 文件并将它们存储在数据表中。我可以用 xslx(excel 文件)做到这一点,在错误的文件位置上不断出错

我怀疑它是连接字符串错误

我正在使用这个字符串:

connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileDirectory + ";Extended Properties=\"Text;HDR= Yes;FMT = Delimited\"";

Oledbconnection Connection = new OleDbConnection(connectionString);

OleDbDataAdapter Adapter = new OleDbDataAdapter("select * from [" + Filesheet + "$]", Connection);
  1. 我正在使用 Oledbconnection 方法,有更有效的方法吗?不储存会更好

  2. 我如何运行程序,它将自动访问文件,文件包含在 2 个不同的文件夹中,并逐个文件比较它们,因为到目前为止我只设法读取特定的文件

  3. 你们有更好的替代方法来解决这个问题吗?

4

2 回答 2

1

我从未尝试过打开带有连接字符串的 csv 文件。

CSV 文件基本上只是由带有 \n (或 \r\n)的行和由 , (或其他任何东西)分隔的列。

所以我个人所做的通常是使用 TextReader 打开它 - 并执行以下操作

foreach (string row in textString.Split('\n')
{
foreach (string cell in row.Split(',')
{
//One cell at a time

}
}

有用于打开 csv 文件的库,但我发现这通常是最简单的。

3.) 好吧,您必须使用不同的文件“两次”运行代码。如果它们是硬编码的,请使用数组 - 或者您可以弹出多个 OpenFileDialog 要求用户选择它们

否则在理解您的问题时遇到问题。

于 2013-03-15T06:33:17.597 回答