我基本上試圖從excel文件讀取並在該文件中找到某個ID號。現在它打印所有的行作爲匹配,我想幫助找出原因。在輸入字符串行中匹配單元格
// input to search for
string value = textBox3.Text;
// verify the input is the correct format
Match match = Regex.Match(value, @".*[0-9].*");
Match myMatch = Regex.Match(value, textBox3.Text);
Console.WriteLine(value);
foreach (DataRow row in xlsDs.Rows)
{
if (match.Success && myMatch.Success)
{
Console.WriteLine(textBox3);
Console.Write(row.ItemArray.ToString());
Console.WriteLine("This was found");
}
}
foreach循環會遍歷所有行的,就像一個普通的循環從0到Rows.Count。我不明白爲什麼你不能像你目前正在做的那樣簡單地使用foreach語句。 – HaukurHaf
我不認爲從foreach轉換爲for會解決任何問題。相反,我會檢查你的匹配功能,我敢打賭錯誤在那裏。你的錯誤似乎是你比較textBox3這兩個匹配,然後打印每一行相同的東西。您需要檢查行是否與您正在搜索的內容匹配。 – bkribbs
你的Excel工作表是什麼樣子的,是同一列中的所有ID,並且該列中的索引或名稱總是相同?如果是這樣,您可以直接將該列與您的輸入值進行比較,然後在找到該行後編寫整行 – Domitius