Excel の図形は、テキストボックスや画像などのオブジェクトを含む、ワークシートを装飾または最適化できる視覚要素として機能します。図形を挿入することで、データをより直感的に表示し、重要な情報を強調し、スプレッドシートの可読性を高めることができます。図形内の内容を独立して扱う必要がある場合は、プログラムを使って図形から抽出してさらなる処理を行うことができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET で Excel の図形からテキストと画像を抽出する方法を紹介します。 Excel の図形からテキストを抽出する Excel の図形から画像を抽出する Spire.XLS for .NET をインストールします まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.XLS Excel の図形からテキストを抽出する Spire.XLS for .NET を使用すると、ユーザーは IPrstGeomShape.Text プロパティを使用して図形からテキストを抽出し、新しい .txt ファイルに書き込むことができます。以下は詳細な手順です。 Workbook オブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 最初のワークシートを Workbook.Worksheets[] プロパティで取得します。 2 番目の図形は Worksheet.PrstGeomShapes[] プロパティで取得します。 2 番目の図形からテキストを抽出し、文字列変数に保存します。 StringBuilder オブジェクトを作成し、抽出したテキストを追加します。 File.WriteAllText() メソッドを使用して、テキストを .txt ファイルに書き込みます。 C# VB.NET using System.IO; using System.Text; using Spire.Xls; using Spire.Xls.Core; namespace Extracttext { class Program { static void Main(string[] args) { //Workbookオブジェクトを作成する Workbook workbook = new Workbook(); //Excelファイルをロードする workbook.LoadFromFile("sample.xlsx"); //最初のシートを取得する Worksheet sheet = workbook.Worksheets[0]; //2番目の図形を取得してテキストを抽出する IPrstGeomShape shape1 = sheet.PrstGeomShapes[1]; string s = shape1.Text; //StringBuilderオブジェクトに抽出されたテキストをアタッチする StringBuilder sb = new StringBuilder(); sb.AppendLine(s); //テキストを.txtファイルに書き込む File.WriteAllText("ShapeText.txt", sb.ToString()); workbook.Dispose(); } } } Imports System.IO Imports System.Text Imports Spire.Xls Imports Spire.Xls.Core Namespace Extracttext Class Program Private Shared Sub Main(ByVal args() As String) 'Workbookオブジェクトを作成する Dim workbook As Workbook = New Workbook 'Excelファイルをロードする workbook.LoadFromFile("sample.xlsx") '最初のシートを取得する Dim sheet As Worksheet = workbook.Worksheets(0) '2番目の図形を取得してテキストを抽出する Dim shape1 As IPrstGeomShape = sheet.PrstGeomShapes(1) Dim s As String = shape1.Text 'StringBuilderオブジェクトに抽出されたテキストをアタッチする Dim sb As StringBuilder = New StringBuilder sb.AppendLine(s) 'テキストを.txtファイルに書き込む File.WriteAllText("ShapeText.txt", sb.ToString) workbook.Dispose End Sub End Class End Namespace Excel の図形から画像を抽出する さらに、Spire.XLS for .NET では、IPrstGeomShape.Fill.Picture プロパティを使用して画像を抽出し、フォルダーに保存することもできます。関連する手順は次のとおりです。 Workbook オブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 最初のワークシートを Workbook.Worksheets[] プロパティで取得します。 最初の図形は Worksheet.PrstGeomShapes[] プロパティで取得します。 Fill と Picture プロパティを使用して、最初の図形から 画像を抽出します。 Image.Save() メソッドを使用して、抽出した画像をフォルダーに保存します。 C# VB.NET using System.Drawing; using System.Drawing.Imaging; using Spire.Xls; using Spire.Xls.Core; namespace Extractimage { class Program { static void Main(string[] args) { //Workbookオブジェクトを作成する Workbook workbook = new Workbook(); //Excelファイルをロードする workbook.LoadFromFile("sample.xlsx"); //最初のシートを取得する Worksheet sheet = workbook.Worksheets[0]; //最初の図形を取得して画像を抽出する IPrstGeomShape shape2 = sheet.PrstGeomShapes[0]; Image image = shape2.Fill.Picture; //抽出した画像をフォルダに保存する image.Save(@"ImageShapeImage.png", ImageFormat.Png); workbook.Dispose(); } } } Imports System.Drawing Imports System.Drawing.Imaging Imports Spire.Xls Imports Spire.Xls.Core Namespace Extractimage Class Program Private Shared Sub Main(ByVal args() As String) 'Workbookオブジェクトを作成する Dim workbook As Workbook = New Workbook 'Excelファイルをロードする workbook.LoadFromFile("sample.xlsx") '最初のシートを取得する Dim sheet As Worksheet = workbook.Worksheets(0) '最初の図形を取得して画像を抽出する Dim shape2 As IPrstGeomShape = sheet.PrstGeomShapes(0) Dim image As Image = shape2.Fill.Picture '抽出した画像をフォルダに保存する image.Save("ImageShapeImage.png", ImageFormat.Png) workbook.Dispose End Sub End Class End Namespace 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。