gpt4 book ai didi

c# - 在 C#.net 中合并两个 CSV 文件的列

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:59 24 4
gpt4 key购买 nike

我一直在做一个需要导入两个 .CSV 文件并将其合并的项目。
我使用 CachedCsvReaderStreamReader 将 CSV1 和 CSV2 文件导入到 dataGridView1dataGridView2 中,效果很好.现在我需要两个合并这两个 dataGridView 或 dataGridView3 中的 CSV 文件。我在整个网络上尝试了许多不同的技术来解决它,但没有任何效果。
例如,我使用了 Excel.Application、Workbook 和 Worksheet 东西来解决它以及 dataGridView 方法,但没有任何效果。谁能帮帮我吗?!!真的很感激!顺便说一下,每列的标题都写在标题名称下方,如 A、B、C,名称在第一 (1) 行中位于它们下方。

为了您的方便,我在下面添加了我到目前为止所做的一小部分,

using (CachedCsvReader csv1 = new CachedCsvReader(new StreamReader(textBox1.Text), true))
{
dataGridView1.DataSource = csv1;
}

在 Mr. Damith 的建议下我这样做了:

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();

现在有了内容,请单击下面的链接下载示例的文本文件。 Click here to download the .txt file

希望对您有所帮助。谢谢!-萨凡。

最佳答案

如果映射困难,您始终可以构建所需的列并遍历 CSV 文件并手动添加每个单元格,这不会花费太多编码。

循环 CSV1 将数据添加到适当的单元格。
循环 CSV2 将数据添加到适当的单元格。

关于c# - 在 C#.net 中合并两个 CSV 文件的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10769029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com