将 sheet.Cells[n+1,1] 组合成字符串 allCells,然后改查询语句不是更好吗?
string SQL =string.Format("select distinct QPN,APN from {0} where QPN in {1} ",Welcome.MODEL,allCells);
allCell 格式应为 “('A','B','C')” ,也就是把所有的sheet.Cells组合成 “('A','B','C')” 这样格式的字符串,如此一来一次查询就搞定了。
可以将多个表结果放到同一个DataTable,DataView,或List
例:
class Item
{
public int ID {get;set}
public string Name {get;set}
}
List- list = new List
- ();
for(DataRow dr in sheet1.Rows)
{
list.Add(new Item{ID=Convert.ToInt32(dr[0]),Name=dr[1].ToString()});
}
for(DataRow dr in sheet2.Rows)
{
list.Add(new Item{ID=Convert.ToInt32(dr[0]),Name=dr[1].ToString()});
}
GridView1.DataSource=list;
GridView1.DataBind();
把查询出的数据先加到临时表中。。所有数据查询完之后。。在把临时表的数据填充进DataGridview中