2012-02-27 144 views
0

我正在使用Interop来打开和读取Excel文件。C#读取和修改Excel单元格

rangeBegin = templateWorksheet.get_Range(<special cell adressing goes on here>); 

所以很容易得到价值和公式出细胞和mopdify这个东西。 什么是我现在正在讨论的是如何读取和修改公式中使用的单元格名称,我可能需要添加/删除或更改指定的单元格或其引用。

还没有找到一个方法来做到这一点,并没有找到如何正确地做到这一点的信息。

谢谢回答


€DIT: 由于我没有足够的声誉我编辑的问题补充了答案: (@KAJ:谢谢)

一个办法接入名称:

using Excel = Microsoft.Office.Interop.Excel; 
Excel.Names tmp5 = workBook.Names; 
addNews(tmp5.ToString()); 
addNews(tmp5.Count.ToString()); 
addNews(tmp5.Item(1).Name); 
addNews(tmp5.Item(1).Index.ToString()); 
addNews(tmp5.Item(1).RefersTo); 

其中“addNews”是给我调试,可以很容易地被复制到剪贴板列表中输出的功能。 (格式化加上日期和时间信息)

回答

0

通常的方式来计算略显晦涩 Excel API是记录一个宏,然后看看它生成的代码。

已经做到了这一点来命名它的细胞:通过互操作

ActiveWorkbook.Names.Add Name:="myCell", RefersToR1C1:="=Sheet1!R10C5" 

所以有可能是类似的东西