0

嗨,我想通过互联网了解我的解决方案。考虑到我的 excel 表作为数组,我想根据行和列索引获取数据,我该怎么做。我没有线索来实现这个我的 excel 表如下所示

请帮忙。我对尝试不同的方法感到很生气。

我的要求是如果我在控制台中给出 R3,C2,我应该得到 4 作为我的答案。我正在使用 Excel.interop 来获得这个,你也可以通过其他方法提出解决方案。感谢你在期待。

4

2 回答 2

0

一种解决方案是调用 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。

于 2012-10-17T10:05:29.337 回答
0
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();
                    }
                }

            }

        }
    }
}

我得到了答案..经过两天的挣扎

于 2012-10-19T17:28:36.047 回答