gpt4 book ai didi

c# - 按条件读取 Excel 文件

转载 作者:行者123 更新时间:2023-11-30 17:03:50 24 4
gpt4 key购买 nike

您好,我正在编写一个 WinForm 应用程序,我想读取一个 excel 文件。我的 excel 是这样的:

------------------------------------------------------
first_name |last_name|ID |Skill |exam_date |certification_number|
john | smith |12345678|engineer|2013/12/12|3543546647
john | smith |12345678|electronic|2013/07/12|35477776647
.....
.....

因为我的 excel 没有主键,你可以看到我可以有几行(最多 20 行),前 3 列是相同的。

我写这段代码是为了读取 excel 但它只读取一行。我如何读取具有相同 ID 的所有行?

string ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\book3.xlsx;Extended Properties='Excel 12.0;HDR=YES;IMEX=1'";
DataSet ds = new DataSet();
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [SHEET1$]", ConnectionString);
adapter.Fill(ds);

DataRow dataRow = (from DataRow dr in ds.Tables[0].Rows where dr["ID"].ToString() == textBox1.Text select dr).FirstOrDefault();

提前致谢

最佳答案

您的FirstOrDefault() 只选择'First'

试试这个:

IEnumerable<DataRow> dataRows = (from DataRow dr in ds.Tables[0].Rows where dr["ID"].ToString() == textBox1.Text select dr);
foreach (DataRow dataRow in dataRows)
{
// do stuff with current dataRow
}

关于c# - 按条件读取 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18179815/

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