gpt4 book ai didi

c# - 按名称而不是像 A1 那样的 "coordinates"访问 Excel 单元格

转载 作者:太空狗 更新时间:2023-10-29 22:54:33 26 4
gpt4 key购买 nike

我有一个 Excel 工作表,我在其中命名了我必须从我的代码中填写的单元格。命名字段的原因是客户可以重新排列单元格。

为了更清楚一点:我使用下面显示的字段来命名单元格。

Excel Field Name

我现在的问题是,我不知道如何使用 office interop 从 C# 中处理这些字段。

Range r = Sheet.get_Range("M_Leitung", Type.Missing);

没用。由于我没有定义任何范围,只有我必须在其中插入值的单个单元格,所以我需要一个返回指定单元格的函数。

最佳答案

我只是模拟了您的场景,下面的代码非常有效(我将 sheet2 中的 A1 标记为 M_Leitung):

编辑:更新的代码 - 当您有多个工作表时,您需要在工作簿范围内引用名称,这将返回完全限定的地址(因此结果范围知道从哪个工作表中选择地址)

private static void Main(string[] args)
{
string FileName = Path.Combine(Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath), "Book2.xlsx");

Application excelApp = new Application();
Workbooks excelWorkbooks = excelApp.Workbooks;
Workbook report = excelWorkbooks.Open(FileName, 0, false, 5, "", "", true, XlPlatform.xlWindows, "", true, false, 0, false, false, false);

var y = report.Names.Item("M_Leitung").RefersToRange.Value;

Console.WriteLine(y);
excelWorkbooks.Close();
excelApp.Quit();
}

请注意,重命名单元格时会自动创建命名范围。如果您创建了一个范围,比如 A1:B1 并且您选择了它。 Excel 会在该角标签中显示命名范围而不是地址,这证明它可以双向工作。

HTH

关于c# - 按名称而不是像 A1 那样的 "coordinates"访问 Excel 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6993660/

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