チュートリアル

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

チュートリアル».NET»Spire.XLS for .NET»オブジェクト»C#/VB.NET:Excel の図形からテキストと画像を抽出する方法
2023-07-27

C#/VB.NET:Excel の図形からテキストと画像を抽出する方法

Excel の図形は、テキストボックスや画像などのオブジェクトを含む、ワークシートを装飾または最適化できる視覚要素として機能します。図形を挿入することで、データをより直感的に表示し、重要な情報を強調し、スプレッドシートの可読性を高めることができます。図形内の内容を独立して扱う必要がある場合は、プログラムを使って図形から抽出してさらなる処理を行うことができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET で 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

C#/VB.NET:Excel の図形からテキストと画像を抽出する方法

Excel の図形から画像を抽出する

さらに、Spire.XLS for .NET では、IPrstGeomShape.Fill.Picture プロパティを使用して画像を抽出し、フォルダーに保存することもできます。関連する手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • 最初のワークシートを Workbook.Worksheets[] プロパティで取得します。
  • 最初の図形は Worksheet.PrstGeomShapes[] プロパティで取得します。
  • FillPicture プロパティを使用して、最初の図形から 画像を抽出します。
  • 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(@"Image\ShapeImage.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("Image\ShapeImage.png", ImageFormat.Png)
            workbook.Dispose
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel の図形からテキストと画像を抽出する方法

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

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

Read 3138 times