通过名称访问Excel单元格

问题描述 投票:0回答:2

我正在尝试将 Excel 的单元格名称设置为某个自定义名称,并稍后通过其名称访问该单元格。 是否有一些开箱即用的 API 调用可以执行此操作,或者如果我有工作表和单元格名称的信息以访问单元格和,我应该如何执行此操作 命名单元格时的工作表和单元格地址(即 C2)。

还要问,有没有办法获取绑定到该特定单元格的格式信息? (即,当我按名称访问单元格时,我想返回单元格值和该单元格的一些格式属性,如果单元格是数字或文本,是否突出显示等...)

问候,

弗拉基米尔·瓦伊达

c# excel office-interop
2个回答
7
投票

我想您可能正在寻找

Range("C2")

至于格式化信息,可以通过 Excel 对象模型的各种属性来获取。请参阅 http://msdn.microsoft.com/en-us/library/ff197454.aspx 了解更多信息。

Range
类型(与上面引用的
Range
索引属性相反)还公开了
Name
属性,您可以在代码中设置:

worksheet.get_Range("C2").Name = "fdafdfs"
worksheet.get_Range("fdafdfs").Select();

0
投票

由于接受的答案看起来有点过时(可用的

get_Range
对象上没有
Worksheet
),这里现在是如何工作的:

using Excel = Microsoft.Office.Interop.Excel;

// ...
// Excel.Worksheet workSheet = ...

Excel.Range cell = workSheet.Range["P3"];
// or
Excel.Range cell = workSheet.Cells[3, "P"];

cell.Name = "lorem";

// access via name
Excel.Range loremCell = workSheet.Range["lorem"];
© www.soinside.com 2019 - 2024. All rights reserved.