gpt4 book ai didi

c# - 当工作表名称以编程方式包含空格时如何从工作表中获取 Excel 工作表

转载 作者:行者123 更新时间:2023-12-04 22:08:55 26 4
gpt4 key购买 nike

我试着

var tempSheet = wrksheets[sheetName] as Worksheet;  

在哪里 wrksheets是类型表
sheetName 是“带空格的工作表名称”

如果 sheetName 没有空间,它工作正常,但如果它有空间,我得到一个异常说无效索引。我只知道工作表的名称,不知道它的索引。我唯一能想到的就是遍历工作表并将每张工作表的名称与 sheetName 进行比较。效率不高,但有更好的方法吗?谢谢

编辑
说工作表名称是“带空格的工作表名称”
当我在工作表中引用一个单元格时说 A1,它将是“带空格的工作表名称”!A1
当我在 wrksheets [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;

关于c# - 当工作表名称以编程方式包含空格时如何从工作表中获取 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13919549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com