我一直在从事一个需要导入两个 .CSV 文件并将其合并的项目。
我已经使用CachedCsvReader
并StreamReader
导入了 CSV1 和 CSV2 文件,dataGridView1
并且dataGridView2
它运行良好。现在我需要两个合并这两个 dataGridView 或 .csv 文件dataGridView3
。我在整个网络上尝试了许多不同的技术来解决它,但没有任何效果。
例如,我使用Excel.Application
了 Workbook 和 Worksheet 的东西来解决它,也使用了 dataGridView 方法,但没有任何效果。谁能帮帮我吗?!!真的会很感激!!顺便说一句,每列的标题写在标题名称下方,如 A、B、C,名称在第一 (1) 行的下方。
为了您的方便,我在下面添加了我到目前为止所做的一小部分,
using (CachedCsvReader csv1 = new CachedCsvReader(new StreamReader(textBox1.Text), true))
{
dataGridView1.DataSource = csv1;
}
在达米特先生的建议下,我这样做了:
OleDbConnection conn1 = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + System.IO.Path.GetDirectoryName(textBox1.Text) +"; Extended Properties = \"Text;HDR=YES;FMT=Delimited\"");
conn1.Open();
OleDbDataAdapter adapter1 = new OleDbDataAdapter("SELECT * FROM " + System.IO.Path.GetFileName(textBox1.Text), conn1);
DataSet ds1 = new DataSet("Temp");
adapter1.Fill(ds1);
// you can get datatable as bellow
DataTable tb1 = ds1.Tables[0];
OleDbConnection conn2 = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + System.IO.Path.GetDirectoryName(textBox2.Text) + "; Extended Properties = \"Text;HDR=YES;FMT=Delimited\"");
conn2.Open();
OleDbDataAdapter adapter2 = new OleDbDataAdapter("SELECT * FROM " + System.IO.Path.GetFileName(textBox2.Text), conn2);
DataSet ds2 = new DataSet("Temp");
adapter2.Fill(ds2);
// you can get datatable as bellow
DataTable tb2 = ds2.Tables[0];
//Merge
tb1.Merge(tb2);
//View dataGridView 3
dataGridView3.DataSource = tb1;
dataGridView3.Update();
现在有了内容,点击下面的链接下载示例的文本文件。 单击此处下载 .txt 文件
我希望这可以帮助你。谢谢!-萨凡。