所以这就是我正在经历的事情.我正在使用带有c#的Excel dll,以便进入一个大而讨厌的excel表,以便其他人不必这样做.
我们在一个单元格中有一个相当大的公式,我们不希望因此而将它复制到每一行.此公式在放置它的行上使用多个值.如果它在第1行,它会使用该行中的大量单元格.
当通常在excel中复制此公式时,将修改单元格的新范围以反映新的起始位置.
问题是,当我复制这样的公式,它仍然给我的一切,与第一排的,而不是在那里我粘贴它的行做的价值观.....下面是我的代码:
sheet.Cells[77][row].Formula = sheet.Cells[77][1].Formula;
Run Code Online (Sandbox Code Playgroud)
有人可以让我知道如何使公式实际应用于新行而不是第1行?
Dan*_*iel 10
这可能会起作用,因为它在VBA中起作用......在大多数情况下.
sheet.Cells[77][row].FormulaR1C1 = sheet.Cells[77][1].FormulaR1C1;
Run Code Online (Sandbox Code Playgroud)
这将起作用,因为FormulaR1C1(不是非常有用的链接)使用R1C1表示法,它描述了与当前单元格相关的引用单元格位置,而不是说要使用哪些单元格.这意味着实际参考值取决于具有公式的单元格.当您刚刚使用时Formula
,您正在复制Formula
包含硬编码单元格引用的字符串.