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.) 別のファイルを使用してコードを「2 回」実行する必要があります。それらがハードコーディングされている場合は、配列を使用します。または、多数の OpenFileDialog をポップアップして、ユーザーにそれらを選択するように求めることができます

そうでなければ、あなたの問題を理解するのに問題があります。

于 2013-03-15T06:33:17.597 に答える