C#でExcelのセルの値を表示。

環境

OS:Windows7 Pro
VisualStudio:2013 Professional
.NET Framework:4.6.1

VisualStudioをリリースモードで、
デバッグ無しで開始(Ctrl + F5)で
Excelのプロセスは残らない。

参照設定で、
Microsoft.CSharp
Microsoft.Office.Interop.Excel
を追加する必要がある。

コード

using System;
using Excel = Microsoft.Office.Interop.Excel;

public class Program
{
    public static void Main()
    {
        // Excel起動。
        Excel.Application mApp = new Excel.Application();
        // 起動したExcelからワークブックのコレクションを表すオブジェクトを取得。
        Excel.Workbooks mWorkBooks = mApp.Workbooks;
        // 指定したExcelファイルを開く。
        Excel.Workbook mWorkBook = mWorkBooks.Open("D:\\CSharp\\20170310_ExcelTest\\temp.xlsm");
        // 開いたExcelファイルのシートのコレクションを取得。
        Excel.Sheets mSheets = mWorkBook.Worksheets;
        // 1番目のワークシートを取得。
        Excel.Worksheet mWorkSheet = mSheets[1];
        
        // 指定したセルの値を取得。
        Excel.Range mRange = mWorkSheet.Cells[1, 1];

        // コマンドプロンプトに表示。
        Console.WriteLine(mRange.Value);

        // Excelを表示。
        // mApp.Visible = true;

        // ワークブックを閉じる。
        mWorkBook.Close();
        // Excelを閉じる。
        mApp.Quit();
        // ガベージコレクタを実行。
        GC.Collect();
    }
}

コメント

タイトルとURLをコピーしました