C# 从Excel打印到标签中

C# 从Excel打印到标签中,c#,.net,excel,visual-studio,windows-applications,C#,.net,Excel,Visual Studio,Windows Applications,我有一个excel表格,有47列,大约100行。我有一个带有文本字段、按钮和标签的Windows窗体应用程序 以下是我正在尝试做的: 当我将一个数字粘贴到文本框中并单击按钮时,它将搜索整个excel工作表,并获取该特定字符串在工作表中的行和列(行、列)。这很好用。我对表演还可以。这是我真正想做的- 在找到搜索字符串的位置后,我想转到同一行的第45列,从该单元格中获取字符串,并将其显示在标签中 这是我的代码(我所做的一切都不起作用!) 很抱歉格式化。代码部分由于某种原因无法工作 请帮忙 Windo

我有一个excel表格,有47列,大约100行。我有一个带有文本字段、按钮和标签的Windows窗体应用程序

以下是我正在尝试做的:

当我将一个数字粘贴到文本框中并单击按钮时,它将搜索整个excel工作表,并获取该特定字符串在工作表中的行和列(行、列)。这很好用。我对表演还可以。这是我真正想做的-

在找到搜索字符串的位置后,我想转到同一行的第45列,从该单元格中获取字符串,并将其显示在标签中

这是我的代码(我所做的一切都不起作用!)

很抱歉格式化。代码部分由于某种原因无法工作

请帮忙


Windows 10-Excel 2016-VS 2017-.net 4.6.1

Microsoft.Office.Interop.Excel.Range valueForLabel=(Microsoft.Office.Interop.Excel.Range)yourSheet.Cells[oRng.Row,IRPlace];

字符串labelText=valueForLabel.Value.ToString()

您是否尝试过
label_IRMet.Text=Convert.ToString(oSheet.Cells[oRng.Row,IRPlace])是,但它会在标签中显示
系统。uu ComObject
。猜猜看?根据您的说法,代码正确吗?好的,然后我必须执行
label\u IRMet.Text=Convert.ToString(valueForLabel.Text)成功了。非常感谢!
string File_name = "C:\\Users\\v-nikken\\Documents\\My Received Files\\Case Wellness.xlsx";
Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook oWB;
Microsoft.Office.Interop.Excel.Worksheet oSheet;
try
{
    object missing = System.Reflection.Missing.Value;
    oWB = oXL.Workbooks.Open(File_name, missing, missing, missing, missing,
                    missing, missing, missing, missing, missing, missing,
                    missing, missing, missing, missing);
    oSheet = (Microsoft.Office.Interop.Excel.Worksheet)oWB.Worksheets[1];
    Microsoft.Office.Interop.Excel.Range oRng = GetSpecifiedRange(textBox_SRNumber.Text, oSheet);
    if (oRng != null)
    {

        //THIS IS THE LOGIC I HAVE TO TAKE VALUE FROM THE CELL TO THE LABEL
        //AND OBV IT ISN'T WORKING

        int IRPlace = Convert.ToInt32(oRng.Column) + 46; //This is obv wrong

        label_IRMet.Text = Convert.ToString(oSheet.Cells[Convert.ToInt32(oRng.Row), IRPlace]); //This also
        label_scope_sent.Text = IRPlace.ToString();

    }
    else
    {
        MessageBox.Show("Case number not found!", "Please try again");
    }
    oWB.Close(false, missing, missing);

    oSheet = null;
    oWB = null;
    oXL.Quit();
}
catch (Exception ex)
{
}