我目前有一张包含多张纸的工作表:
Sheet_Alpha |表2 | Sheet_Beta |表4 |表5 | Sheet_Delta
我如何根据他们的名字恢复他们的身份?然后,我可以选择我想要的工作表:Worksheets.get_Item()
有可能吗?我找了一会儿,发现没什么可做的。
谢谢:)
答案 0 :(得分:1)
您可以先将有关工作簿所有工作表的信息传输到List,如下所示
string name = "xxx";
List<Worksheet> lstSheet = new List<Worksheet>();
foreach (Worksheet ws in MyBook.Sheets)
{
lstSheet.Add(ws);
}
然后按名称访问目标表单,如下所示
Worksheet wsToQuery = lstSheet.Find(a => a.Name.Contains(name));
希望它有所帮助...
答案 1 :(得分:0)
请参阅我的回答:Get all worksheet names in plaintext from Excel with C# Interop?
foreach ( Worksheet worksheet in excelWorkbook.Worksheets )
{
MessageBox.Show( worksheet.Name );
}
你可以使用字典:
Dictionary<string, Worksheet> dict = new Dictionary<string, Worksheet>();
foreach ( Worksheet worksheet in excelWorkbook.Worksheets )
{
dict.Add( worksheet.Name, worksheet );
}
// accessing the desired worksheet in the dictionary
MessageBox.Show( dict[ "Sheet1" ].Name );