C#を使用してEXCELデータを取得しようとしています。

回答済み C#を使用してEXCELデータを取得しようとしています。

  • 2012年7月15日 14:01
     
      コードあり

    C#を勉強してる素人なのですが、C#でEXCELのデータを読み込もうと思っています。

    ネットで調べて以下の形で取得してみました。

    Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
    Workbook wb = ExcelApp.Workbooks.Open(ExcelBookFileName, 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);
    			Worksheet ws1 = wb.Sheets[1];
    			ws1.Select(Type.Missing);
    			Range range = ExcelApp.get_Range("A1"Type.Missing);
    			if (range != null)
    			{
    				var val = range.Value2;
    				textBox1.Text += Convert.ToString(val);				
    			}

    EXCELのSheets1の"A1"には日付で”2013年12月”で書いてますが

    以下の形でデータを取得するとtextbox1には”41613.2857142857”で出力されます。

    何かいい方法はありませんか?お願いします。

すべての返信

  • 2012年7月15日 15:48
     
     回答済み

    質問するときは .Net や Excel のバージョンを記載しましょう。

    こんな感じかな。
    var val = DateTime.FromOADate(cell.Value2);

    それと、textBox1 がもし、 System.Windows.Forms.TextBox なら
    textBox1.Text += str

    ではなく
    textBox1.Append(str);

    とするべきです。

  • 2012年7月15日 16:39
     
     

    ご指摘と回答ありがとうございます。

    おかげさまでうまくできました。

    ほんとありがとうございました。