小编use*_*117的帖子

将 SUMPRODUCT Excel 公式转换为 C#

我是 C# 初学者,我发现自己在使用 Microsoft Visual C# 2010 Express 的 Windows 窗体应用程序中遇到了问题。我有一个按钮可以打开文件对话框以选择特定的 Excel 工作簿,然后检索特定工作表的第一列和第五列的值。

我在Excel中完成了这个公式:

=SUMPRODUCT(('Worksheet1'!$A$2:$A$700<=99999)*('Worksheet1'!$A$2:$A$700>=90000))
Run Code Online (Sandbox Code Playgroud)

我想在 C# 中使用这个公式。任何人都可以帮助我吗?

请注意,工作表的名称与文件的名称相同,因此我可以像这样获取工作表的名称:

string name = openFileDialog1.SafeFileName.Split(new Char[] { '.' })[0];
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令打开它:

Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();

ExcelApp.Visible = true;

Microsoft.Office.Interop.Excel.Workbook wbook = ExcelApp.Workbooks.Open(openFileDialog1.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,) 
Microsoft.Office.Interop.Excel.Worksheet wsheet = (Microsoft.Office.Interop.Excel.Worksheet)wbook.Sheets[name];
Run Code Online (Sandbox Code Playgroud)

你们能帮我解决这个问题吗?希望你能。

非常感谢。

c# excel

0
推荐指数
1
解决办法
2708
查看次数

计算List <string>中的范围与C#之间的数量

我是初学C#程序员,我发现自己在Windows Form应用程序中遇到问题,我正在使用Microsoft Visual C#2010 Express.我有一个按钮,打开文件对话框以选择特定的Excel工作簿,然后将第一列和第f列的值检索为如下字符串:

string x = {"120,123,125,128,130,140,157,189,220,230,243,250"}
Run Code Online (Sandbox Code Playgroud)

然后我转换了这个字符串并添加到字符串列表中.这是代码:

var y = string.Join(string.Empty, x).Split(',');
List<string> listX = new List<string>();
foreach (var x1 in y)
{
    listX.Add(x1);
}
Run Code Online (Sandbox Code Playgroud)

列表格式如下:

listX1[0] = "120";
listX1[1] = "123";
listX1[2] = "125";
Run Code Online (Sandbox Code Playgroud)

等等.现在我有这个方法可以计算出介于123和150之间的数量,这将给我5个数字(包含123个).使用的方法是这样的:

public static int Count(IList<int> set, int min, int max)
{
      int count = 0;
      foreach (int i in set)
          if( i <= max && i >= min)
              count++
      return count;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,最小值为123,最大值为150.

现在我知道我不能使用这种方法,因为我的列表(listX1)是一个字符串列表.如何使用C#设置最小值和最大值之间的数字?任何人都可以帮助我吗?

希望您能够帮助我.非常感谢.

c# range between

-6
推荐指数
1
解决办法
2097
查看次数

标签 统计

c# ×2

between ×1

excel ×1

range ×1