如何从sheet中获取Excel工作表时,sheetname具有编程的空间

我试着

var tempSheet = wrksheets[sheetName] as Worksheet; 

其中wrksheets是types工作表sheetName是“工作表名称与空格”

如果sheetName没有空格,它工作正常,但是如果有空格,我会得到一个exception说无效索引。 我只知道工作表的名字,不知道它的索引。 我能想到的唯一事情就是循环遍历工作表,并将每个工作表的名称与工作表名称进行比较。 效率不高,但有没有更好的办法? 谢谢

编辑说表单名称是'带空格的表单名称'当我在表单中引用一个单元格时,如A1,它将是'带空格的表格名称'!A1在wrksheets [sheetName]中使用带有空格的表格名称'我得到一个无效的索引exception我发现问题是我应该使用“带空格的工作表名称”作为sheetName而不是单引号的原始工作表名称。
所以我写了一个函数,在从wrksheets获取工作表之前删除工作表名中的无效/转义字符,然后工作正常。

  private string RemoveEscapeCharsFromSheetName(string sheetName) { //TODO: should remove all chars that are not allowed in Excel Sheet Name sheetName = sheetName.Trim(new char[] { ' ', '\'' }); return sheetName; } sheet = RemoveEscapeCharsFromSheetName(sheet); var tempSheet = wrksheets[sheet] as Worksheet; 

将工作表名称用引号括起来。

 var tempSheet = wrksheets["\"" + sheetName + "\""] as Worksheet;