チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.Presentation for .NET»グラフ»C#:Excel データで PowerPoint スライドにグラフを作成する方法
2024-08-15

C#:Excel データで PowerPoint スライドにグラフを作成する方法

PowerPoint スライドにグラフを作成することは、複雑な情報を視覚的に表現し、聴衆が重要な洞察を理解しやすくするための強力な方法です。Excel データを直接読み取ってグラフを生成することで、データ入力プロセスを効率化し、データの正確性を確保できます。また、Excel ファイルからのチャートを PowerPoint プレゼンテーションに直接画像として挿入することで、元の書式や外観を最大限に活かすことも可能です。本記事では、.NET プログラム内で Spire.Office for .NET を使用して、Excel データから PowerPoint スライドにグラフを作成する方法をご紹介します。

Spire.Office for .NET をインストールします

まず、Spire.Office for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.Office

Excel データで PowerPoint スライドにグラフを作成する

開発者は、Spire.XLS for .NET を使用して Excel ワークシートからデータを読み取り、そのデータをグラフのデータソースとして使用して、Spire.Presentation for .NET で PowerPoint スライドにグラフを作成することができます。Excel ファイルのデータを使用して PowerPoint プレゼンテーションにグラフを作成するための詳細な手順は以下のとおりです:

  • Presentation クラスのインスタンスを作成します。
  • Workbook クラスのインスタンスを作成し、Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
  • Presentation.Slides[] プロパティを介してプレゼンテーション内の最初のスライドを取得し、ISlide.Shapes.AppendChart() メソッドを使用してプレゼンテーションの最初のスライドにグラフを作成します。
  • IChart.ChartData.Clear() メソッドを使用して、デフォルトのダミーデータをクリアします。
  • Workbook.Worksheets[] プロパティを使用して、ブック内の最初のワークシートを取得します。
  • ワークシート内の行と列を順に繰り返し処理します:
    • Worksheet.AllocatedRange[].Value2 プロパティを介してワークシート内のセル値を取得し、それらを IChart.ChartData[].Value プロパティを介してグラフのデータ値として設定します。
  • IChart.ChartTitle プロパティを使用してグラフタイトルを設定します。
  • IChart.Series.SeriesLabel および IChart.Categories.CategoryLabels プロパティを介して、グラフのシリーズラベルとカテゴリラベルを設定します。
  • IChart.Series[].Values プロパティを介してシリーズの値を設定します。
  • IChart.PrimaryCategoryAxis.NumberFormat およびIChart.PrimaryValueAxis.NumberFormat プロパティを使用して、軸の数値形式を設定します。
  • IChart.ChartStyle プロパティを使用してグラフのスタイルを設定します。
  • Presentation.SaveToFile() メソッドを使用してプレゼンテーションを保存します。
  • C#
using Spire.Presentation;
using Spire.Presentation.Charts;
using Spire.Xls;
using System.Drawing;
using FileFormat = Spire.Presentation.FileFormat;
using IChart = Spire.Presentation.Charts.IChart;

namespace PresentationChartExcelData
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Presentationクラスのインスタンスを作成
            Presentation presentation = new Presentation();

            // スライドサイズを設定
            presentation.SlideSize.Type = SlideSizeType.Screen16x9;

            // Workbookクラスのインスタンスを作成し、Excelファイルを読み込む
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("Sample.xlsx");

            // Workbook内の最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // プレゼンテーションにチャートを作成
            RectangleF rect = new RectangleF(50, 100, presentation.SlideSize.Size.Width - 100, presentation.SlideSize.Size.Height - 150);
            ISlide slide = presentation.Slides[0];
            IChart chart = slide.Shapes.AppendChart(ChartType.ColumnClustered, rect);

            // デフォルトのダミーデータをクリア
            chart.ChartData.Clear(0, 0, 5, 5);

            // ワークシート内の行を繰り返し処理
            for (int i = 0; i < sheet.AllocatedRange.RowCount; i++)
            {
                // ワークシート内の列を繰り返し処理
                for (int j = 0; j < sheet.AllocatedRange.ColumnCount; j++)
                {
                    // ワークシートのセル値をチャートデータの値として設定
                    chart.ChartData[i, j].Value = sheet.AllocatedRange[i + 1, j + 1].Value2;
                    // 数値形式をコピー
                    chart.ChartData[i, j].NumberFormat = sheet.AllocatedRange[i + 1, j + 1].NumberFormat;
                }
            }

            // チャートタイトルを設定
            chart.ChartTitle.TextProperties.Text = sheet.Name;
            chart.ChartTitle.TextProperties.IsCentered = true;
            chart.ChartTitle.Height = 25;
            chart.HasTitle = true;

            // シリーズラベルとカテゴリラベルを設定
            chart.Series.SeriesLabel = chart.ChartData["B1", "C1"];
            chart.Categories.CategoryLabels = chart.ChartData["A2", "A" + sheet.AllocatedRange.RowCount];

            // シリーズ値を設定
            chart.Series[0].Values = chart.ChartData["B2", "B" + sheet.AllocatedRange.RowCount];
            chart.Series[1].Values = chart.ChartData["C2", "C" + sheet.AllocatedRange.RowCount];

            // 軸の数値形式を設定
            chart.PrimaryCategoryAxis.NumberFormat = sheet.AllocatedRange["A2"].NumberFormat;
            chart.PrimaryValueAxis.NumberFormat = sheet.AllocatedRange["B2"].NumberFormat;

            // チャートのスタイルを設定
            chart.ChartStyle = ChartStyle.Style2;

            // オーバーラップとギャップ幅を設定
            chart.OverLap = 50;
            chart.GapWidth = 200;

            // プレゼンテーションを保存
            presentation.SaveToFile("output/ExcelデータからPowerPointグラフを作成.pptx", FileFormat.Pptx2019);
            presentation.Dispose();
            workbook.Dispose();
        }
    }
}

C#:Excel データで PowerPoint スライドにグラフを作成する方法

Excel のグラフを画像として PowerPoint スライドに挿入する

Excel ワークシートの既存のグラフをその外観と書式を正確に維持しながら PowerPoint スライドに挿入するためには、Workbook.SaveChartAsImage() メソッドを使用します。このメソッドは、Excel グラフを画像として保存し、その画像をスライドに追加することができます。具体的な手順は以下のとおりです:

  • Presentation クラスのインスタンスを作成します。
  • Workbook クラスのインスタンスを作成し、Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
  • Workbook.SaveChartAsImage() メソッドを使用して、ワークシート内のグラフを画像として保存します。
  • Presentation.Images.Append() メソッドを使用して、その画像をプレゼンテーションに埋め込みます。
  • Presentation.Slides[].AppendEmbedImage() メソッドを使用して、画像をスライドに追加します。
  • Presentation.SaveToFile() メソッドを使用してプレゼンテーションを保存します。
  • C#
using Spire.Presentation;
using Spire.Presentation.Drawing;
using Spire.Xls;
using System.Drawing;
using FileFormat = Spire.Presentation.FileFormat;

namespace PresentationChartExcelChart
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Presentationクラスのインスタンスを作成
            Presentation presentation = new Presentation();

            // スライドサイズを設定
            presentation.SlideSize.Type = SlideSizeType.Screen16x9;

            // Workbookクラスのインスタンスを作成し、Excelファイルを読み込む
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("Sample.xlsx");

            // 最初のワークシート内の最初のチャートを画像として保存
            Image image = workbook.SaveChartAsImage(workbook.Worksheets[0], 0);

            // 画像をプレゼンテーションに埋め込む
            IImageData imageData = presentation.Images.Append(image);

            // 最初のスライドに画像を追加
            RectangleF rect = new RectangleF(50, 120, presentation.SlideSize.Size.Width - 100, presentation.SlideSize.Size.Height - 170);
            presentation.Slides[0].Shapes.AppendEmbedImage(ShapeType.Rectangle, imageData, rect);

            // プレゼンテーションを保存
            presentation.SaveToFile("output/PowerPointでExcelのグラフを画像として挿入.pptx", FileFormat.Pptx2019);
            presentation.Dispose();
            workbook.Dispose();
        }
    }
}

C#:Excel データで PowerPoint スライドにグラフを作成する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 79 times