2010-11-19 68 views
1

我正在使用C#excel interop框架自動爲我的公司生成一大堆報告,我想知道是否有人知道如何做與此拖動公式。C#excel interop formula dragging

如果我可以用命名範圍來做到這一點,那將會更好,但即使我必須對行進行硬編碼,使其沿着A10:J10拖動到A20:J20的線條,這可能就沒問題。

即使任何指向網頁解釋如何做到這一點的指針將非常讚賞,因爲我有點卡在這一個。

謝謝!

回答

5

Range對象有一個名爲AutoFill的方法,你應該試試。

range.AutoFill(destinationRange); 
0

不久前我做了這樣的事情。下面是我的代碼示例:

Excel.Range rng, rngResize; 
rng = (Excel.Range)oSheet.get_Range("A10", "J10"); 
rngResize = rng.get_Resize(10, Missing.Value); 
rngResize.Formula = "=B9+I8"; 

公式相對應用。我爲每一步使用單獨的變量,因此它們可以是Disposed。讓我知道這是否有幫助。

+0

我想過這樣做可以控制,但我發現這個鏈接http://msdn.microsoft.com/en-us/library/microsoft.office .tools.excel.namedrange.get_resize(VS.80).aspx表示函數不應該直接從代碼中使用。 – 2010-11-19 21:07:25

0

您可以通過調用工作表對象的ListObjects集合的Add方法來創建Excel表(ListObject)。這相當於在Excel中使用「格式化表格」命令。在表格行中輸入的任何等式都將使用對錶格列的相對引用自動填充到表格的所有行。此行爲是在默認情況下,但可以通過設置在

Globals.ThisWorkbook.Application.AutoCorrect.AutoFillFormulasInLists