gpt4 book ai didi

c# - 如何使用 c# Excel.Interop 从 Excel 工作表中获取现有范围名称?

转载 作者:行者123 更新时间:2023-12-04 21:38:54 25 4
gpt4 key购买 nike

我正在使用一个非常大的工作表,其中包含许多命名范围。我希望将来会修改工作表,因此我无法使用单元格编号与单元格进行交互。

如何从工作表中获取现有名称(或现有名称列表)?或者,我如何告诉我的 C# 程序某个名称已经存在并使用它?

最佳答案

你会想要使用 Excel.Worksheet.Names

foreach (Excel.Worksheet sheet in wb.Sheets) {
foreach (Excel.Range range in sheet.Names) {
// this is the named ranges
}
}

Source

如果您使用 EPPlus ,你可以这样做(很简单)
    static void Main(string[] args) {
using (FileStream stream = new FileStream(@"C:\Users\bblack\Test\TestWorksheet.xlsx", FileMode.Append)) {
using (ExcelPackage xl = new ExcelPackage(stream)) {
// xl by default contains one workbook;
bool test;
foreach (ExcelWorksheet sheet in xl.Workbook.Worksheets) {
test = NamedRangeExists("NamedRange", sheet);
}
}
}
}

static bool NamedRangeExists(string name, ExcelWorksheet ws) {
return ws.Names.Where(n => n.Name == name).Count() > 0;
}

这将打开指定的文件,遍历工作簿中包含的工作表并检查其中名为“NamedRange”的命名范围。

关于c# - 如何使用 c# Excel.Interop 从 Excel 工作表中获取现有范围名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24125947/

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