当用户选择行号和列号时计算Excel范围
本文关键字:计算 Excel 范围 用户 选择 | 更新日期: 2023-09-27 18:37:11
>我在 c# 表单应用程序中有一个方法,可以在给定范围时从 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[,];
...
这里range1
和range2
是单元格值。例如: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 来执行此操作?
谢谢。
如果要重新计算公式,Excel 有几种计算方法。
要计算特定范围,请使用 Range.Compute 或 Range.CalculateRowMajorOrder。
请注意,如果 Excel 处于"自动计算"模式,则不需要这样做,因为所有公式都会根据需要自动重新计算。
尝试使用 LinqToexcel 它将帮助您解决此问题 linqtoexcel
希望这有帮助