0

我在 c# Form Application 中有一个方法可以在给定 Range 时从 excel 中返​​回数据。

...
Microsoft.Office.Interop.Excel.Worksheet aWs = aWb.Worksheets[sheetName] as Microsoft.Office.Interop.Excel.Worksheet;

            Range headers = aWs.get_Range(range1, range2);

            object[,] values = headers.get_Value(hmissing) as object[,];
...

这里range1range2是单元格值。例如:A1、B7

我想计算这个range1以及range2当用户选择行号和列号时。

If user select  Rows ={All} and columns = {A,B,C} => result={A1,C265}
If user select  Rows ={1,2,3,4} and columns = {A,B,C} => result={A1,C4}
If user select  Rows ={1,2,4,5} and columns = {A,B,C} => result={A1,C2} {A4,C5}
If user select not matching rows and columns => result={null}

我怎样才能做到这一点 ?我们可以实现一个方法还是 Excel 提供了任何 API 来做到这一点?

谢谢你。

4

2 回答 2

1

如果您要做的是重新计算公式 Excel 有几种计算方法。
要计算特定范围,请使用 Range.Calculate 或 Range.CalculateRowMajorOrder。
请注意,如果 Excel 处于自动计算模式,则不需要这样做,因为所有公式都会根据需要自动重新计算。

于 2012-06-15T07:32:48.333 回答
0

尝试使用 LinqToexcel 它将帮助您解决这个问题linqtoexcel

希望这可以帮助

于 2012-06-15T05:35:54.517 回答