コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【C#】Excel のファイルを作成して折れ線グラフを挿入する方法

はじめに

上記サイト様で詳細が記載されていますが、備忘録として自分のブログにも
Excel のファイルを作成して折れ線グラフを挿入する方法を書き残しておきます

インストール

f:id:baba_s:20200309113738p:plain

Visual Studio メニューの「ツール > NuGet パッケージ マネージャー >
ソリューションの NuGet パッケージの管理」を選択して

f:id:baba_s:20200309113804p:plain

「参照」タブで検索欄に「NetOffice.Excel」と入力して
表示された「NetOffice.Excel」を選択して

f:id:baba_s:20200309113817p:plain

インストールしたいプロジェクトをチェックして「インストール」を押します

使用例

using NetOffice.ExcelApi;
using NetOffice.ExcelApi.Enums;

public static class Program
{
    private static void Main()
    {
        using ( var application = new Application() )
        {
            var workBook  = application.Workbooks.Add();
            var workSheet = workBook.Worksheets[ 1 ] as Worksheet;
            var cells     = workSheet.Cells;

            // cells[ 行番号, 列番号 ] で指定
            cells[1, 1].Value = "名前";
            cells[1, 2].Value = "種族値";
            cells[2, 1].Value = "フシギダネ";
            cells[2, 2].Value = "318";
            cells[3, 1].Value = "フシギソウ";
            cells[3, 2].Value = "405";
            cells[4, 1].Value = "フシギバナ";
            cells[4, 2].Value = "525";
            cells[5, 1].Value = "ヒトカゲ";
            cells[5, 2].Value = "309";
            cells[6, 1].Value = "リザード";
            cells[6, 2].Value = "405";
            cells[7, 1].Value = "リザードン";
            cells[7, 2].Value = "534";

            var chartObjects = workSheet.ChartObjects() as ChartObjects;
            var chartObject  = chartObjects.Add( 125, 25, 300, 250 );
            var chart        = chartObject.Chart;

            chart.ChartType = XlChartType.xlLine;
            chart.HasLegend = false; // 凡例を非表示にする
            chart.SetSourceData( workSheet.Range( "A1:B7" ) );

            // 絶対パスで保存先を指定
            workBook.SaveAs( @"D:\example.xlsx" );

            application.Quit();
        }
    }
}

f:id:baba_s:20200311180724p:plain