嗨,我想通过互联网了解我的解决方案。考虑到我的 excel 表作为数组,我想根据行和列索引获取数据,我该怎么做。我没有线索来实现这个我的 excel 表如下所示
请帮忙。我对尝试不同的方法感到很生气。
我的要求是如果我在控制台中给出 R3,C2,我应该得到 4 作为我的答案。我正在使用 Excel.interop 来获得这个,你也可以通过其他方法提出解决方案。感谢你在期待。
嗨,我想通过互联网了解我的解决方案。考虑到我的 excel 表作为数组,我想根据行和列索引获取数据,我该怎么做。我没有线索来实现这个我的 excel 表如下所示
请帮忙。我对尝试不同的方法感到很生气。
我的要求是如果我在控制台中给出 R3,C2,我应该得到 4 作为我的答案。我正在使用 Excel.interop 来获得这个,你也可以通过其他方法提出解决方案。感谢你在期待。
一种解决方案是调用 Excel 工作表函数 INDEX 和 MATCH(基本 Excel 公式为 =INDEX($B$2:$D$4,MATCH("R3",$A$2:$A$4,0),MATCH(" C2",$B$1:$D$1,0))
或者您可以将数据检索到对象数组中,在第一行查找 C2,在第一列查找 R3。
using System;
using Excel=Microsoft.Office.Interop.Excel;
namespace ReadingExcelBasedOnRowColumn
{
class Program
{
static void Main(string[] args)
{
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\Users\SaiKiran\Desktop\MyExcl2.xlsx");
Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;
Console.WriteLine("enter x and y value:");
int x = Convert.ToInt32(Console.ReadLine());
int y = Convert.ToInt32(Console.ReadLine());
if (xlRange != null)
{
int nRows = xlRange.Rows.Count;
int nCols = xlRange.Columns.Count;
for (int iRow = 1; iRow <= nRows; iRow++)
{
for (int iCount = 1; iCount <= nCols; iCount++)
{
xlRange = (Microsoft.Office.Interop.Excel.Range)xlWorksheet.Cells[x, y];
Console.WriteLine(xlRange.Text);
Console.ReadLine();
}
}
}
}
}
}
我得到了答案..经过两天的挣扎