Excel/C# - 按名称获取工作表 ID?
Excel/C# - Get worksheet id by name?
我目前有一个作品sheet有几个sheet:
Sheet_Alpha | Sheet2 | Sheet_Beta | Sheet 4 | Sheet 5 | Sheet_Delta
如何根据他们的名字恢复他们的id?然后能够 select 我想要的 sheet : Worksheets.get_Item()
可能吗?我找了一下,没找到可以做的。
谢谢:)
您可以先将有关工作簿的所有 sheet 的信息传输到如下列表
string name = "xxx";
List<Worksheet> lstSheet = new List<Worksheet>();
foreach (Worksheet ws in MyBook.Sheets)
{
lstSheet.Add(ws);
}
然后按如下名称访问目标sheet
Worksheet wsToQuery = lstSheet.Find(a => a.Name.Contains(name));
希望对您有所帮助...
查看我的回答: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 );
我目前有一个作品sheet有几个sheet:
Sheet_Alpha | Sheet2 | Sheet_Beta | Sheet 4 | Sheet 5 | Sheet_Delta
如何根据他们的名字恢复他们的id?然后能够 select 我想要的 sheet : Worksheets.get_Item()
可能吗?我找了一下,没找到可以做的。
谢谢:)
您可以先将有关工作簿的所有 sheet 的信息传输到如下列表
string name = "xxx";
List<Worksheet> lstSheet = new List<Worksheet>();
foreach (Worksheet ws in MyBook.Sheets)
{
lstSheet.Add(ws);
}
然后按如下名称访问目标sheet
Worksheet wsToQuery = lstSheet.Find(a => a.Name.Contains(name));
希望对您有所帮助...
查看我的回答: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 );