PowerPoint スライドにグラフを作成することは、複雑な情報を視覚的に表現し、聴衆が重要な洞察を理解しやすくするための強力な方法です。Excel データを直接読み取ってグラフを生成することで、データ入力プロセスを効率化し、データの正確性を確保できます。また、Excel ファイルからのチャートを PowerPoint プレゼンテーションに直接画像として挿入することで、元の書式や外観を最大限に活かすことも可能です。本記事では、.NET プログラム内で Spire.Office for .NET を使用して、Excel データから PowerPoint スライドにグラフを作成する方法をご紹介します。 Excel データで PowerPoint スライドにグラフを作成する 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(); } } } 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(); } } } 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。