47桁と約100行のExcelシートがあります。私は、テキストフィールド、ボタン、およびラベルを持つWindowsフォームアプリケーションを持っています。ここでExcelからのラベルへの印刷
は私がしようとしているものです:
私は、テキストボックスに番号を貼り付け]ボタンをクリックすると、それは全体のExcelシートを検索し、その特定の文字列が入っているところの行と列をフェッチシート(行、列)。これはうまくいきます。私はパフォーマンスで大丈夫です。ここに私が実際にやりたいことがありますか?
私が検索された文字列がどこに来たら、同じ行の45番目の列に行き、そのセルから文字列を取得したいと思いますラベル。ここで
は、フォーマットに関する
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)
{
}
申し訳ありませんが(私は何も作業していない!)私のコードです。何らかの理由でコードセクションが機能しませんでした。
助けてください!
のWindows 10 - エクセル2016 - VS 2017 - .NET 4.6.1
あなたは 'label_IRMet.Text = Convert.ToString(oSheet.Cells [oRng.Row、IRPlace])をしようとしたんでした。 ' –
はい、ラベルに' System .__ ComObject'と表示されます。どんな推測?コードは正しいのですか? –