「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.03.18
XML
カテゴリ: C#.NET


以下は、C# WPF アプリケーションから Excel を操作するサンプルコードです。この例では、Microsoft.Office.Interop.Excel ライブラリを使用して Excel アプリケーションを起動し、ワークブックを作成し、セルにデータを書き込んでいます。ただし、この方法は、Office インストール時に自動的にインストールされる COM オブジェクトを使用しており、実行環境によっては正しく動作しない場合があります。


まず、プロジェクトに Microsoft.Office.Interop.Excel ライブラリへの参照を追加します。


次に、以下のサンプルコードを使用して Excel を操作します。


```csharp

using System;

using System.Runtime.InteropServices;

using System.Windows;


using Excel = Microsoft.Office.Interop.Excel;


namespace ExcelInteropExample

{

    public partial class MainWindow : Window

    {

        public MainWindow()

        {

            InitializeComponent();

        }


        private void OpenExcelButton_Click(object sender, RoutedEventArgs e)

        {

            Excel.Application excelApp = new Excel.Application();

            excelApp.Visible = true;


            Excel.Workbook workbook = excelApp.Workbooks.Add();

            Excel.Worksheet worksheet = workbook.Sheets[1];


            // セルに値を設定

            worksheet.Cells[1, 1] = "Hello";

            worksheet.Cells[1, 2] = "World";


            // フォーマットを設定

            worksheet.Cells[1, 1].Font.Bold = true;

            worksheet.Cells[1, 1].Font.Size = 14;

            worksheet.Cells[1, 1].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Yellow);

        }


        private void CloseExcelButton_Click(object sender, RoutedEventArgs e)

        {

            // Excel アプリケーションを閉じる

            Marshal.ReleaseComObject(Excel);

            Excel = null;

            GC.Collect();

            GC.WaitForPendingFinalizers();

        }

    }

}

```


このコードでは、"OpenExcelButton_Click" ボタンクリック時に Excel を起動し、新しいワークブックを作成してデータを書き込みます。"CloseExcelButton_Click" ボタンクリック時には、Excel アプリケーションを閉じます。


ただし、Excel を操作する際には COM オブジェクトの解放に注意する必要があります。使用後に適切に解放しないと、メモリリークが発生する可能性があります。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.03.18 08:13:30


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: