チュートリアル

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

Koohji

Koohji

情報を論理的な順序で提示することは、効果的な PowerPoint プレゼンテーションにとって非常に重要です。スライドを並べ替えることで、プレゼンテーションの構成を調整し、メッセージを最大限に伝えることができます。戦略的にスライドを配置することで、動的で魅力的なプレゼンテーションを作成することが可能です。

この記事では、Java で Spire.Presentation for Java ライブラリを使用して PowerPoint ドキュメント内のスライドを並べ替える方法について説明します。

Spire.Presentation for Java をインストールします

まず、Spire.Presentation for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.presentation</artifactId>
        <version>9.10.2</version>
    </dependency>
</dependencies>

Java で PowerPoint ドキュメント内のスライド並べ替え

PowerPoint プレゼンテーション内のスライドを並べ替えるには、2 つのプレゼンテーションオブジェクトを作成します。1 つは元のドキュメントを読み込むため、もう 1 つは新しいドキュメントを作成するために使用します。元のドキュメントからスライドを希望する順序で新しいドキュメントにコピーすることで、スライドを効果的に並べ替えることができます。

以下は、Java を使用して PowerPoint ドキュメント内のスライドを並べ替える手順です。

  • Presentation オブジェクトを作成します。
  • Presentation.loadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • 配列内でスライドの順序を指定します。
  • 新しいプレゼンテーションを作成するために、別の Presentation オブジェクトを作成します。
  • Presentation.getSlides().append() メソッドを使用して、指定された順序で元のドキュメントから新しいプレゼンテーションにスライドを追加します。
  • Presentation.saveToFile() メソッドを使用して、新しいプレゼンテーションをファイルに保存します。
  • Java
import com.spire.presentation.FileFormat;
import com.spire.presentation.Presentation;

public class ReorderSlides {

    public static void main(String[] args) throws Exception {

        // Presentationオブジェクトを作成
        Presentation presentation = new Presentation();

        // PowerPointファイルを読み込む
        presentation.loadFromFile("Sample.pptx");

        // 新しいスライド順序を配列で指定
        int[] newSlideOrder = new int[] { 1, 4, 3, 2 };

        // 別のPresentationオブジェクトを作成
        Presentation new_presentation = new Presentation();

        // デフォルトのスライドを削除
        new_presentation.getSlides().removeAt(0);

        // 配列をループで処理
        for (int i = 0; i < newSlideOrder.length; i++)
        {
            // 元のPowerPointファイルからスライドを新しい順序で新しいPowerPointドキュメントに追加
            new_presentation.getSlides().append(presentation.getSlides().get(newSlideOrder[i] - 1));
        }

        // 新しいプレゼンテーションをファイルに保存
        new_presentation.saveToFile("output/新しい順序でのプレゼンテーション.pptx", FileFormat.AUTO);

        // リソースを解放
        presentation.dispose();
        new_presentation.dispose();
    }
}

Java:PowerPoint ファイル内のスライドを並べ替える方法

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

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

スライドにテキストや画像だけがあると、観客が退屈することがあります。ビデオを挿入することは、プレゼンテーションに視覚的な魅力を加え、観客の関心を引くための優れた方法です。本記事では、C# で Spire.Presentation for .NET を使用して PowerPoint プレゼンテーションにビデオを挿入、置換、抽出する方法について説明します。

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

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

PM> Install-Package Spire.Presentation

C# で PowerPoint スライドにビデオを挿入する

プレゼンテーション中にビデオを挿入しておくことで、観客にすぐにビデオを共有でき、コンピュータから探す手間が省けます。以下の手順で PowerPoint プレゼンテーションにビデオを挿入します。

  • Presentation クラスのインスタンスを作成します。
  • Presentation.LoadFromFile() メソッドで PowerPoint 文書を読み込みます。
  • Presentation.Slides.Append() メソッドを使用して新しいスライドを追加します。
  • RectangleF クラスのインスタンスを作成します。
  • ISlide.Shapes.AppendVideoMedia(string, RectangleF) メソッドでスライドにビデオを追加します。
  • IVideo.PictureFill.Picture.EmbedImage プロパティを使って、ビデオのサムネイル画像を設定します。
  • Presentation.SaveToFile() メソッドでプレゼンテーションを保存します。
  • C#
using Spire.Presentation;
using Spire.Presentation.Drawing;
using System.Drawing;

namespace InsertVideoInPPT
{
    class Program
    {
        static void Main(string[] args)
        {
            // プレゼンテーションインスタンスを作成
            Presentation presentation = new Presentation();
            // PowerPointドキュメントを読み込む
            presentation.LoadFromFile("Sample.pptx");

            // 新しいスライドを追加
            ISlide slide = presentation.Slides.Append(SlideLayoutType.TitleOnly);

            // タイトルテキストを追加
            slide.Title = "海の波のビデオ";

            // 最初のスライドにビデオを追加
            RectangleF videoRect = new RectangleF(presentation.SlideSize.Size.Width / 2 - 300, 150, 500, 281);
            IVideo video = slide.Shapes.AppendVideoMedia("Ocean1.mp4", videoRect);
            // ビデオのサムネイル画像を設定
            Image image = Image.FromFile("Ocean1.png");
            IImageData imageData = presentation.Images.Append(image);
            video.PictureFill.Picture.EmbedImage = imageData;

            // 結果のドキュメントを保存
            presentation.SaveToFile("output/PowerPointにビデオを挿入.pptx", FileFormat.Auto);
            presentation.Dispose();
        }
    }
}

C# で PowerPoint スライドにビデオを挿入する

C# で PowerPoint プレゼンテーションのビデオを置換する

既存のビデオが内容に合わない場合は、別の適切なビデオに置き換えることができます。以下の手順で、PowerPoint プレゼンテーション内の既存のビデオを他のビデオに置き換えます。

  • Presentation クラスのインスタンスを作成します。
  • Presentation.LoadFromFile() メソッドで PowerPoint 文書を読み込みます。
  • Presentation.Slides[int] プロパティを使って、指定されたインデックスのスライドを取得します。
  • File.ReadAllBytes() メソッドでビデオをバイト配列に読み込みます。
  • Presentation.Videos.Append(byte[]) メソッドで読み込んだビデオを文書のビデオコレクションに追加します。
  • スライド内のすべてのシェイプをループ処理し、ビデオシェイプを探します。
  • IVideo.EmbeddedVideoData プロパティで元のビデオを読み込んだビデオに置換し、IVideo.PictureFill.Picture.Url プロパティでビデオのサムネイル画像を変更します。
  • Presentation.SaveToFile() メソッドでプレゼンテーションを保存します。
  • C#
using Spire.Presentation;
using Spire.Presentation.Drawing;
using System.Drawing;

namespace ReplaceVideoInPPT
{
    class Program
    {
        static void Main(string[] args)
        {
            // プレゼンテーションインスタンスを作成
            Presentation presentation = new Presentation();
            // PowerPointドキュメントを読み込む
            presentation.LoadFromFile("output/PowerPointにビデオを挿入.pptx");

            // スライドを取得
            ISlide slide = presentation.Slides[1];

            // ビデオをバイト配列に読み込む
            byte[] bts = File.ReadAllBytes("Ocean2.mp4");
            // 読み込んだビデオをドキュメントのビデオコレクションに追加
            VideoData videoData = presentation.Videos.Append(bts);

            // 最初のスライドのすべてのシェイプをループ
            foreach (Shape shape in slide.Shapes)
            {
                // シェイプがIVideoタイプかどうかを確認
                if (shape is IVideo)
                {
                    // シェイプをIVideoとしてキャスト
                    IVideo video = shape as IVideo;
                    // 元のビデオを読み込んだビデオに置き換える
                    video.EmbeddedVideoData = videoData;
                    // ビデオのサムネイル画像を変更
                    Image image = Image.FromFile("Ocean2.png");
                    IImageData imageData = presentation.Images.Append(image);
                    video.PictureFill.Picture.EmbedImage = imageData;
                }
            }

            // 結果のドキュメントを保存
            presentation.SaveToFile("output/PowerPointのビデオを置き換える.pptx", FileFormat.Auto);
            presentation.Dispose();
        }
    }
}

C# で PowerPoint プレゼンテーションのビデオを置換する

C# で PowerPoint プレゼンテーションからビデオを抽出する

PowerPoint プレゼンテーションに含まれるビデオを他の用途に利用したい場合、それらを抽出してディスクに保存できます。以下の手順で PowerPoint プレゼンテーションからビデオを抽出します。

  • Presentation クラスのインスタンスを作成します。
  • Presentation.LoadFromFile() メソッドで PowerPoint 文書を読み込みます。
  • 文書内のすべてのスライドをループ処理します。
  • 各スライド内のすべてのシェイプをループ処理します。
  • ビデオシェイプを見つけ、IVideo.EmbeddedVideoData.SaveToFile() メソッドでビデオをディスクに保存します。
  • C#
using Spire.Presentation;

namespace ExtractVideosInPPT
{
    class Program
    {
        static void Main(string[] args)
        {
            // プレゼンテーションインスタンスを作成
            Presentation presentation = new Presentation();
            // PowerPointドキュメントを読み込む
            presentation.LoadFromFile("output/PowerPointのビデオを置き換える.pptx");

            int i = 0;
            // 出力ファイルパスを指定
            string result = string.Format("output/Video/Video{0}.mp4", i);

            // ドキュメント内のすべてのスライドをループ
            foreach (ISlide slide in presentation.Slides)
            {
                // 各スライドのすべてのシェイプをループ
                foreach (IShape shape in slide.Shapes)
                {
                    // シェイプがIVideoタイプかどうかを確認
                    if (shape is IVideo)
                    {
                        // 指定されたパスにビデオを保存
                        (shape as IVideo).EmbeddedVideoData.SaveToFile(result);
                        i++;
                    }
                }
            }
        }
    }
}

C# で PowerPoint プレゼンテーションからビデオを抽出する

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

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

デジタル署名は、紙の書類に手書きで署名する代わりとなる現代的な方法です。高度な数学的技術を用いてデジタル文書の信頼性と完全性を確認し、署名者が文書内容を作成したことや、文書が署名後に変更されていないことを保証します。機密情報を含む PowerPoint 文書には署名が必要な場合があります。本記事では、C# で Spire.Presentation for .NET を使って PowerPoint にデジタル署名を追加・削除する方法を紹介します。

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

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

PM> Install-Package Spire.Presentation

C# で PowerPoint にデジタル署名を追加する

デジタル署名を追加するには、有効な署名証明書が必要です。証明書を使用して、Presentation.AddDigitalSignature(X509Certificate2 certificate, string comments, DateTime signTime) メソッドにより PowerPoint 文書にデジタル署名を付与できます。手順は次のとおりです。

  • Presentation インスタンスを作成します。
  • Presentation.LoadFromFile() メソッドで PowerPoint 文書を読み込みます。
  • 証明書ファイル名とパスワードを使って、X509Certificate2 クラスのインスタンスを初期化します。
  • Presentation.AddDigitalSignature(X509Certificate2 certificate, string comments, DateTime signTime) メソッドで PowerPoint 文書にデジタル署名を追加します。
  • Presentation.SaveToFile() メソッドでプレゼンテーションを保存します。
  • C#
using Spire.Presentation;
using System;
using System.Security.Cryptography.X509Certificates;

namespace AddDigitalSignature
{
    class Program
    {
        static void Main(string[] args)
        {
            // プレゼンテーションインスタンスを作成
            Presentation ppt = new Presentation();

            // PowerPointドキュメントを読み込む
            ppt.LoadFromFile("Sample.pptx");

            // 証明書を読み込む
            X509Certificate2 x509 = new X509Certificate2("gary.pfx", "e-iceblue");

            // デジタル署名を追加
            ppt.AddDigitalSignature(x509, "e-iceblue", DateTime.Now);

            // 結果のドキュメントを保存
            ppt.SaveToFile("output/PowerPointにデジタル署名を追加.pptx", FileFormat.Auto);
            ppt.Dispose();
        }
    }
}

C# で PowerPoint にデジタル署名を追加する

C# で PowerPoint からデジタル署名を削除する

場合によっては、PowerPoint 文書からデジタル署名を削除する必要があることもあります。Spire.Presentation for .NET は、すべてのデジタル署名を一度に削除するための Presentation.RemoveAllDigitalSignatures() メソッドを提供しています。手順は次のとおりです。

  • Presentation インスタンスを作成します。
  • Presentation.LoadFromFile() メソッドで PowerPoint 文書を読み込みます。
  • Presentation.IsDigitallySigned プロパティを使って、文書にデジタル署名が含まれているか確認します。
  • Presentation.RemoveAllDigitalSignatures() メソッドで文書からすべてのデジタル署名を削除します。
  • Presentation.SaveToFile() メソッドでプレゼンテーションを保存します。
  • C#
using Spire.Presentation;

namespace RemoveDigitalSignature
{
    class Program
    {
        static void Main(string[] args)
        {
            // プレゼンテーションインスタンスを作成
            Presentation ppt = new Presentation();

            // PowerPointドキュメントを読み込む
            ppt.LoadFromFile("output/PowerPointにデジタル署名を追加.pptx");

            // ドキュメントがデジタル署名されているか確認
            if (ppt.IsDigitallySigned == true)
            {
                // すべてのデジタル署名を削除
                ppt.RemoveAllDigitalSignatures();
            }

            // 結果のドキュメントを保存
            ppt.SaveToFile("output/PowerPointから電子署名を削除.pptx", FileFormat.Auto);
            ppt.Dispose();
        }
    }
}

C# で PowerPoint からデジタル署名を削除する

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

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

PowerPoint のテキストボックスに Word 文書のような段組を設定すると、情報が整理され視覚的に見やすくなり、聴衆の理解も深まります。行の長さを短くすることで読みやすさが向上し、視覚的にプロフェッショナルで美しいレイアウトが実現できます。また、限られたスペースを有効活用し、情報を豊富に表示しつつも見やすく整理されたレイアウトを提供します。本記事では、C# プロジェクトで Spire.Presentation for .NET を使用して、PowerPoint のテキストボックスに Word 文書のような段組を追加・削除する方法を紹介します。

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

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

PM> Install-Package Spire.Presentation

C# で PowerPoint のテキストボックスに段組を追加

Spire.Presentation では、Shape.TextFrame.ColumnCount プロパティで段組数を設定し、Shape.TextFrame.ColumnSpacing プロパティで段間のスペースを調整できます。手順は以下の通りです。

  • Presentation オブジェクトを作成します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • Presentation.Slides[0] で最初のスライドを取得します。
  • IAutoShape として最初のテキストボックスオブジェクトを取得します。
  • Shape.TextFrame.ColumnCount プロパティでテキストボックスの段組数を設定します。
  • Shape.TextFrame.ColumnSpacing プロパティで段間のスペースを設定します。
  • Presentation.SaveToFile() メソッドでドキュメントを保存します。
  • C#
using Spire.Presentation;

namespace Demo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Presentationオブジェクトを作成する
            Presentation presentation = new Presentation();

            // PPTXファイルを読み込む
            presentation.LoadFromFile("Sample.pptx");

            // 最初のスライドを取得する
            ISlide slide = presentation.Slides[0];

            // スライド上の最初のシェイプがIAutoShape型かどうかを確認する
            if (slide.Shapes[0] is IAutoShape)
            {
                // 最初のシェイプをIAutoShapeオブジェクトにキャストする
                IAutoShape shape = (IAutoShape)slide.Shapes[0];

                // シェイプのテキストフレームの列数を2に設定する
                shape.TextFrame.ColumnCount = 2;

                // シェイプのテキストフレームの列間隔を25ポイントに設定する
                shape.TextFrame.ColumnSpacing = 10f;
            }

            // 修正されたプレゼンテーションを新しいPPTXファイルとして保存する
            presentation.SaveToFile("output/テキストボックスに段組を追加.pptx", FileFormat.Auto);

            // Presentationオブジェクトが使用したリソースを解放する
            presentation.Dispose();
        }
    }
}

C# で PowerPoint のテキストボックスに段組を追加

C# で PowerPoint のテキストボックスから段組を削除

PowerPoint のテキストボックスから段組を削除するには、Shape.TextFrame.ColumnCount プロパティを1に設定します。手順は以下の通りです。

  • Presentation オブジェクトを作成します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • Presentation.Slides[index] プロパティでスライドを取得します。
  • IAutoShape としてテキストボックスオブジェクトを取得します。
  • Shape.TextFrame.ColumnCount = 1 と設定し、段組を削除します。
  • Presentation.SaveToFile() メソッドでドキュメントを保存します。
  • C#
using Spire.Presentation;

namespace Demo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Presentationオブジェクトを作成する
            Presentation presentation = new Presentation();

            // PPTXファイルを読み込む
            presentation.LoadFromFile("output/テキストボックスに段組を追加.pptx");

            // 最初のスライドを取得する
            ISlide slide = presentation.Slides[0];

            // スライド上の最初のシェイプがIAutoShape型かどうかを確認する
            if (slide.Shapes[0] is IAutoShape)
            {
                // 最初のシェイプをIAutoShapeオブジェクトにキャストする
                IAutoShape shape = (IAutoShape)slide.Shapes[0];

                // シェイプのテキストフレームの列数を1に設定する
                shape.TextFrame.ColumnCount = 1;
            }

            // 修正されたプレゼンテーションを新しいPPTXファイルとして保存する
            presentation.SaveToFile("output/テキストボックスから段組を削除.pptx", FileFormat.Auto);

            // Presentationオブジェクトが使用したリソースを解放する
            presentation.Dispose();
        }
    }
}

C# で PowerPoint のテキストボックスから段組を削除

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

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

C# アプリケーションでは、Excel ファイルと DataTable 間でデータを効率よく変換することが、データの利用、分析、処理能力を向上させるために不可欠です。Excel から DataTable にデータを転送することで、.NET の機能を最大限に活用し、データの分析や変換、処理が可能になります。また、データを Excel に戻すことで、他のシステムと簡単に共有、報告、および統合できます。本記事では、C# コードを使用して Spire.XLS for .NET を活用し、Excel ファイルから DataTable にデータをエクスポートしDataTable から Excel ファイルにデータをインポートする方法を説明します。

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

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

PM> Install-Package Spire.XLS

Excel ファイルから DataTable へのデータエクスポート

Spire.XLS for .NET は、Worksheet.ExportDataTable() メソッドを提供しており、Excel ワークシート全体のデータを DataTable オブジェクトにエクスポートできます。また、Worksheet.Range[].ExportDataTable() メソッドにより、特定のセル範囲から DataTable にエクスポートすることも可能です。ExportTableOptions クラスを使用すると、セル範囲からデータをエクスポートする際のオプションをカスタマイズできます。Excel データを DataTable にエクスポートする詳しい手順は以下の通りです:

  • Workbook クラスのインスタンスを作成し、Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[] プロパティで、Excel ファイル内のワークシートにアクセスします。
  • Worksheet.ExportDataTable() メソッドで、ワークシート全体のデータを DataTable オブジェクトにエクスポートします。
  • または、ExportTableOptions のインスタンスを作成してエクスポートオプションを指定し、特定のセル範囲から DataTable にデータをエクスポートします。
  • C#
using Spire.Xls;
using System.Data;

namespace ExcelToDataTable
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbook インスタンスを作成
            Workbook wb = new Workbook();

            // Excel ファイルを読み込む
            wb.LoadFromFile("Sample.xlsx");

            // ワークシートを取得
            Worksheet sheet = wb.Worksheets[0];

            // ワークシートのデータを DataTable にエクスポート
            //DataTable dataTable = sheet.ExportDataTable();

            // または指定したセル範囲を DataTable にエクスポート
            ExportTableOptions options = new ExportTableOptions();
            options.ComputedFormulaValue = true;
            options.ExportColumnNames = false;
            options.KeepDataFormat = true;
            options.RenameStrategy = RenameStrategy.Letter;
            DataTable dataTable = sheet.Range[2, 1, 6, 5].ExportDataTable(options);

            // DataTable の列名を出力
            for (int i = 0; i < dataTable.Columns.Count; i++)
            {
                Console.Write(dataTable.Columns[i].ColumnName + "\t");
            }
            Console.WriteLine();

            // DataTable のデータ行を出力
            foreach (DataRow row in dataTable.Rows)
            {
                foreach (var item in row.ItemArray)
                {
                    Console.Write(item + "\t");
                }
                Console.WriteLine();
            }
        }
    }
}

Excel ファイルから DataTable へのデータエクスポート

DataTable から Excel ファイルへのデータインポート

Spire.XLS for .NET は、DataTable オブジェクトのデータを Excel ワークシートに挿入するための Worksheet.InsertDataTable(DataTable, colHeaders: bool, firstRow: int, firstColumn: int) メソッドを提供しています。DataTable から Excel にデータをインポートする手順は以下の通りです:

  • データを定義し、DataTable オブジェクトを作成します。
  • Workbook インスタンスを作成し、Workbook.Worksheets.Clear() メソッドでデフォルトのワークシートをクリアします。
  • Workbook.Worksheets.Add(sheetName: string) メソッドで、指定した名前の新しいワークシートを挿入します。
  • Worksheet.InsertDataTable() メソッドを使用して、DataTable オブジェクトからワークシートにデータを挿入します。
  • 必要に応じて書式を調整します。
  • Workbook.SaveToFile() メソッドでワークブックを保存します。
  • C#
using Spire.Xls;
using System.Data;

namespace DataTableToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // データセットを定義し、DataTableインスタンスを作成
            // 新しい製品と数量でデータ配列を再定義
            string[,] data = new string[,]
            {
                { "カテゴリ", "書名", "著者", "出版社", "価格(円)" },
                { "小説", "ノルウェイの森", "村上春樹", "講談社", "1500" },
                { "科学", "人工知能の基礎", "佐藤一郎", "技術評論社", "2500" },
                { "歴史", "坂の上の雲", "司馬遼太郎", "文藝春秋", "1800" },
                { "哲学", "善と悪の彼岸", "フリードリッヒ・ニーチェ", "岩波書店", "1300" },
                { "芸術", "日本画入門", "横山大観", "美術出版社", "2000" },
                { "教育", "子どもを伸ばす方法", "齋藤孝", "NHK出版", "1200" }
            };
            DataTable dataTable = new DataTable();

            // 列数を取得
            int columnCount = data.GetLength(1);

            // DataTableに列を追加
            for (int col = 0; col < columnCount; col++)
            {
                dataTable.Columns.Add(data[0, col]);
            }

            // DataTableに行を追加
            for (int row = 1; row < data.GetLength(0); row++)
            {
                DataRow dataRow = dataTable.NewRow();
                for (int col = 0; col < columnCount; col++)
                {
                    dataRow[col] = data[row, col];
                }
                dataTable.Rows.Add(dataRow);
            }

            // Workbookインスタンスを作成
            Workbook workbook = new Workbook();

            // デフォルトのワークシートをクリアし、新しいワークシートを追加
            workbook.Worksheets.Clear();
            Worksheet sheet = workbook.Worksheets.Add("書目");

            // DataTableデータをワークシートに挿入
            sheet.InsertDataTable(dataTable, true, 1, 1);

            // 必要に応じてフォーマットを調整
            // フォントを調整
            sheet.Rows[0].Style.Font.Size = 13;
            sheet.Rows[0].Style.Font.IsBold = true;
            sheet.Rows[0].Style.Font.FontName = "Yu Gothic UI";
            for (int j = 1; j < sheet.AllocatedRange.RowCount; j++)
            {
                sheet.Rows[j].Style.Font.Size = 12;
                sheet.Rows[j].Style.Font.FontName = "Yu Gothic UI";
            }
            // 列幅を自動調整
            for (int i = 1; i <= sheet.AllocatedRange.ColumnCount; i++)
            {
                sheet.AutoFitColumn(i);
            }

            // ワークブックをファイルに保存
            workbook.SaveToFile("output/DataTableをExcelに挿入.xlsx", FileFormat.Version2016);
            workbook.Dispose();
        }
    }
}

DataTable から Excel ファイルへのデータインポート

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

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

PowerPoint のセクション機能を使うと、スライドを異なるグループやセグメントに分けて整理でき、管理がしやすくなります。セクションにユニークな名前を付けて追加することで、特定のスライドグループを把握しやすくなり、プレゼンテーションのトピックを簡潔にまとめるのにも役立ちます。本記事では、Spire.Presentation for .NET を使用して、PowerPoint ドキュメントにセクションをプログラムで追加または削除する方法を紹介します。

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

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

PM> Install-Package Spire.Presentation

PowerPoint ドキュメントの末尾にセクションを追加

Spire.Presentation for .NET は、Presentation.SectionList.Append(string sectionName) メソッドを提供しており、PowerPoint ドキュメントの末尾にセクションを追加できます。詳細な手順は以下の通りです。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • Presentation.SectionList.Append(string sectionName) メソッドでドキュメントの末尾にセクションを追加します。
  • Presentation.SaveToFile() メソッドで結果を保存します。
  • C#
using Spire.Presentation;

namespace AppendSectionAtEnd
{
    class Program
    {
        static void Main(string[] args)
        {
            // プレゼンテーションのインスタンスを作成
            Presentation ppt = new Presentation();

            // サンプルのPowerPointドキュメントを読み込む
            ppt.LoadFromFile("Sample.pptx");

            // ドキュメントの最後にセクションを追加
            Section section = ppt.SectionList.Append("終了セクション");

            // 結果のドキュメントを保存
            ppt.SaveToFile("PowerPointにセクションを追加.pptx", FileFormat.Pptx2013);
            ppt.Dispose();
        }
    }
}

PowerPoint ドキュメントの末尾にセクションを追加

指定したセクションの前にセクションを挿入

ドキュメントをより論理的に構成するために、既存のセクションの前に新しいセクションを挿入することができます。Spire.Presentation for .NET は、Presentation.SectionList.Insert(int sectionIndex, string sectionName) メソッドを提供しており、セクションインデックスで指定された位置にセクションを挿入できます。手順は以下の通りです。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • Presentation.SectionList.Insert(int sectionIndex, string sectionName) メソッドで、指定したセクションの前に新しいセクションを挿入します。
  • Presentation.SaveToFile() メソッドで結果を保存します。
  • C#
using Spire.Presentation;

namespace InsertSectionAtSpecifiedPosition
{
    class Program
    {
        static void Main(string[] args)
        {
            // プレゼンテーションのインスタンスを作成
            Presentation ppt = new Presentation();

            // サンプルのPowerPointドキュメントを読み込む
            ppt.LoadFromFile("Sample.pptx");

            // 2番目のセクションの前にセクションを挿入
            Section section = ppt.SectionList.Insert(1, "新しいセクション");

            // 結果のドキュメントを保存
            ppt.SaveToFile("セクションの前にセクションを挿入.pptx", FileFormat.Pptx2013);
            ppt.Dispose();
        }
    }
}

指定したセクションの前にセクションを挿入

指定したスライドの前にセクションを追加

既存の PowerPoint スライドを異なるセクションに分ける場合、Presentation.SectionList.Add(string sectionName, ISlide slide) メソッドを使用して、指定したスライドの前にセクションを挿入できます。手順は以下の通りです。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • Presentation.Slides プロパティを使用して、指定したスライドを取得します。
  • Presentation.SectionList.Add(string sectionName, ISlide slide) メソッドで指定したスライドの前にセクションを追加します。
  • Presentation.SaveToFile() メソッドで結果を保存します。
  • C#
using Spire.Presentation;

namespace AddSectionBeforeSlide
{
    class Program
    {
        static void Main(string[] args)
        {
            //Presentationインスタンスを作成
            Presentation ppt = new Presentation();

            //サンプルのPowerPointドキュメントを読み込む
            ppt.LoadFromFile("Sample.pptx");

            //ドキュメント内の2枚目のスライドを取得
            ISlide slide = ppt.Slides[1];

            //2枚目のスライドの前にセクションを追加
            Section section = ppt.SectionList.Add("新しいセクション", slide);

            //結果のドキュメントを保存
            ppt.SaveToFile("スライドの前にセクションを追加.pptx", FileFormat.Pptx2013);
            ppt.Dispose();
        }
    }
}

指定したスライドの前にセクションを追加

PowerPoint ドキュメントからセクションを削除

特定のセクションが不要な場合、Presentation.SectionList.RemoveAt(int index) メソッドで簡単に削除できます。セクションを削除しても、セクション内のスライドは削除されない点に注意してください。特定のセクションを削除してスライドを保持する手順は以下の通りです。

  • Presentation クラスのインスタンスを初期化します。
  • Presentation.LoadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • Presentation.SectionList.RemoveAt(int index) メソッドで指定したセクションを削除するか、Presentation.SectionList.RemoveAll() メソッドでドキュメント内のすべてのセクションを削除します。
  • Presentation.SaveToFile() メソッドで結果を保存します。
  • C#
using Spire.Presentation;

namespace RemoveSection
{
    class Program
    {
        static void Main(string[] args)
        {
            //Presentationインスタンスを作成
            Presentation ppt = new Presentation();

            //サンプルのPowerPointドキュメントを読み込む
            ppt.LoadFromFile("Sample.pptx");

            //2番目のセクションを削除
            ppt.SectionList.RemoveAt(1);

            //すべてのセクションを削除
            //ppt.SectionList.RemoveAll();

            //結果のドキュメントを保存
            ppt.SaveToFile("PowerPointでセクションを削除.pptx", FileFormat.Pptx2013);
            ppt.Dispose();
        }
    }
}

PowerPoint ドキュメントからセクションを削除

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

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

PowerPoint プレゼンテーションにテキストの透かしを追加することで、知的財産を保護し、文書の信頼性を確保する効果的な方法となります。Spire.Presentation for .NET を使用すると、プログラムを通じて PowerPoint スライドにテキストの透かしを柔軟に挿入できます。PowerPoint の標準機能と異なり、この方法では一括処理や透かしの位置や外観の正確な制御が可能で、さらに .NET アプリケーションへの統合も容易です。この記事では、C# で Spire.Presentation for .NET ライブラリを使用して PowerPoint プレゼンテーションにテキストの透かしを挿入する方法を説明します。

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

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

PM> Install-Package Spire.Presentation

単一の透かしを PowerPoint スライドに挿入する

Spire.Presentation for .NET を利用することで、開発者はカスタムスタイルで透明なロック付きテキストボックスとして透かしを作成し、各ページに挿入することで PowerPoint プレゼンテーションに単一のテキスト透かしを追加できます。以下に手順を示します:

  • Presentation クラスのインスタンスを作成し、Presentation.LoadFromFile() メソッドで PowerPoint ファイルを読み込みます。
  • 透かしテキストを定義し、Font オブジェクトを作成してテキストのサイズを測定します。
  • Presentation.SlideSize.Size プロパティを使用してプレゼンテーション内のスライドのサイズを取得します。
  • テキストサイズとスライドサイズに基づき、RectangleF オブジェクトを作成します。
  • プレゼンテーション内のスライドをループ処理し、各スライドで以下を実行します:
    • ISlide.Shapes.AppendShape() メソッドを使用して、指定した位置に IAutoShape オブジェクトを作成します。
    • IAutoShape クラスのプロパティを用いてシェイプのスタイルを設定します。
    • IAutoShape.TextFrame.Text プロパティでシェイプに透かしテキストを追加します。
    • IAutoShape.TextFrame.TextRange プロパティを使い、透かしテキストを TextRange オブジェクトとして取得します。
    • TextRange クラスのプロパティを用いて透かしテキストの書式を設定します。
  • Presentation.SaveToFile() メソッドを使用してプレゼンテーションを保存します。
  • C#
using Spire.Presentation;
using Spire.Presentation.Drawing;
using System.Drawing;

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

            // PowerPointファイルを読み込む
            presentation.LoadFromFile("Sample.pptx");

            // 透かし文字を定義し、フォントを作成
            string text = "透かしの例";
            // フォントオブジェクトを作成
            Font font = new Font("Yu Gothic UI", 50);
            // 透かし文字のサイズを測定
            Graphics graphics = Graphics.FromImage(new Bitmap(1, 1));
            SizeF size = graphics.MeasureString(text, font);

            // スライドサイズを取得
            SizeF slideSize = presentation.SlideSize.Size;

            // テキストサイズとページサイズに基づいて矩形を作成
            RectangleF rect = new RectangleF((slideSize.Width - size.Width) / 2, (slideSize.Height - size.Height) / 2, size.Width, size.Height);

            // プレゼンテーション内のスライドを反復処理
            foreach (ISlide slide in presentation.Slides)
            {
                // 各スライドに透かしの形を作成
                IAutoShape watermark = slide.Shapes.AppendShape(ShapeType.Rectangle, rect);
                // 透かしのスタイルを設定
                watermark.Fill.FillType = FillFormatType.None;
                watermark.ShapeStyle.LineColor.Color = Color.Empty;
                watermark.Rotation = -45;
                watermark.Locking.SelectionProtection = true;
                watermark.Line.FillType = FillFormatType.None;
                // 透かし文字を形に追加
                watermark.TextFrame.Text = text;
                // 透かし文字のスタイルを設定
                TextRange textRange = watermark.TextFrame.TextRange;
                textRange.Fill.FillType = FillFormatType.Solid;
                textRange.Fill.SolidColor.Color = Color.FromArgb(120, Color.HotPink);
                textRange.FontHeight = 50;
            }

            // プレゼンテーションを保存
            presentation.SaveToFile("output/PowerPointの単一のテキスト透かし.pptx", FileFormat.Auto);
            presentation.Dispose();
        }
    }
}

PowerPoint スライドに単一のテキスト透かし

繰り返しの透かしを PowerPoint スライドに挿入する

指定された間隔で同一のテキスト透かしを複数配置することで、スライドに繰り返しの透かしを挿入することも可能です。以下に手順を示します:

  • Presentation クラスのインスタンスを作成し、Presentation.LoadFromFile() メソッドで PowerPoint ファイルを読み込みます。
  • 透かしテキストを定義し、Font オブジェクトを作成してテキストのサイズを測定します。
  • Presentation.SlideSize.Size プロパティでプレゼンテーションのスライドサイズを取得します。
  • プレゼンテーション内のスライドをループ処理し、以下を実行します:
    • 開始位置と間隔を設定します。
    • 透かしシェイプとテキストを追加し、それらの書式を設定します。
    • 透かしの追加が完了したら、次の間隔に水平位置を移動します。
    • 各行の透かしの追加が完了したら、次の行に縦位置を移動します。
  • Presentation.SaveToFile() メソッドでプレゼンテーションを保存します。
  • C#
using Spire.Presentation.Drawing;
using Spire.Presentation;
using System.Drawing;

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

            // PowerPointファイルを読み込む
            presentation.LoadFromFile("Sample.pptx");

            // 透かし文字を定義し、フォントを作成
            string text = "透かしの例";
            // フォントオブジェクトを作成
            Font font = new Font("Yu Gothic UI", 20);
            // 透かし文字のサイズを測定
            Graphics graphics = Graphics.FromImage(new Bitmap(1, 1));
            SizeF size = graphics.MeasureString(text, font);

            // スライドサイズを取得
            SizeF slideSize = presentation.SlideSize.Size;

            // プレゼンテーション内のスライドを反復処理
            foreach (ISlide slide in presentation.Slides)
            {
                float x = 30;
                float y = 80;
                for (int i = 0; i < 3; i++)
                {
                    for (int j = 0; j < 3; j++)
                    {
                        // 矩形を作成
                        RectangleF rect = new RectangleF(x, y, size.Width, size.Height);
                        IAutoShape watermark = slide.Shapes.AppendShape(ShapeType.Rectangle, rect);
                        // 透かしのスタイルを設定
                        watermark.Fill.FillType = FillFormatType.None;
                        watermark.ShapeStyle.LineColor.Color = Color.Empty;
                        watermark.Rotation = -45;
                        watermark.Locking.SelectionProtection = true;
                        watermark.Line.FillType = FillFormatType.None;
                        // 透かし文字を形に追加
                        watermark.TextFrame.Text = text;
                        // 透かし文字のスタイルを設定
                        TextRange textRange = watermark.TextFrame.TextRange;
                        textRange.Fill.FillType = FillFormatType.Solid;
                        textRange.Fill.SolidColor.Color = Color.FromArgb(120, Color.HotPink);
                        textRange.FontHeight = 20;
                        x += ((slideSize.Width - 60) / 3 + size.Width / 2);
                    }
                    x = 30;
                    y += ((slideSize.Height - 160) / 3 + size.Height / 2);
                }
            }

            // プレゼンテーションを保存
            presentation.SaveToFile("output/PowerPoint繰り返しテキスト透かし.pptx", FileFormat.Auto);
            presentation.Dispose();
        }
    }
}

 PowerPoint スライドに繰り返しテキスト透かし

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

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

Excel 文書は簡単に印刷できますが、特別な印刷要件がある場合は少し複雑になることがあります。たとえば、シートの選択範囲のみを印刷する、各ページにヘッダー行を繰り返す、またはワークシートを 1 ページに収めるなどです。この記事では、Spire.XLS for .NET を使用して、C# で Excel 文書の印刷オプションを設定する方法と、Excel 文書をプリンターに送信する方法について説明します。

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

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

PM> Install-Package Spire.XLS

C# で Excel 文書の印刷オプションを設定する

Excel ワークシートのページ設定は、ワークシートの印刷方法を制御するためのオプションを提供します。これには、コメントの印刷の有無、グリッドラインの印刷、印刷するセル範囲の指定が含まれます。Spire.XLS は、これらの設定を管理するための PageSetup オブジェクトを提供します。以下は、Spire.XLS for .NET を使用して PageSetup を通じて Excel の印刷オプションを設定する手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを通じて PageSetup オブジェクトを取得します。
  • PageSetup オブジェクトのプロパティを使用して、ページの余白、印刷範囲、印刷タイトル行、印刷品質などを設定します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Xls;

namespace PrintOptions
{
    class Program
    {
        static void Main(string[] args)
        {
            // ワークブックを作成
            Workbook workbook = new Workbook();

            // Excel ドキュメントをロード
            workbook.LoadFromFile("Sample.xlsx");

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

            // 最初のワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = worksheet.PageSetup;

            // ページの余白を設定
            pageSetup.TopMargin = 0.3;
            pageSetup.BottomMargin = 0.3;
            pageSetup.LeftMargin = 0.3;
            pageSetup.RightMargin = 0.3;

            // 印刷範囲を指定
            pageSetup.PrintArea = "A1:D10";

            // タイトル行を指定
            pageSetup.PrintTitleRows = "$1:$2";

            // 行/列の見出しを印刷することを許可
            pageSetup.IsPrintHeadings = true;

            // グリッドラインを印刷することを許可
            pageSetup.IsPrintGridlines = true;

            // ワークシートに表示されているコメントを印刷することを許可
            pageSetup.PrintComments = PrintCommentType.InPlace;

            // 印刷品質を設定 (dpi)
            pageSetup.PrintQuality = 300;

            // 白黒モードでワークシートを印刷することを許可
            pageSetup.BlackAndWhite = true;

            // 印刷順序を設定
            pageSetup.Order = OrderType.OverThenDown;

            // ワークシートを1ページに収める
            pageSetup.IsFitToPage = true;

            // ワークブックを保存
            workbook.SaveToFile("output/Excelページ印刷設定.xlsx");
            workbook.Dispose();
        }
    }
}

C#:Excel ドキュメントを印刷する方法

C# で Excel 文書を印刷ダイアログで印刷する

印刷ダイアログボックスは、特定の印刷ジョブのオプションを選択するためにユーザーに提供されます。たとえば、ユーザーは使用するプリンターを指定できます。以下は、Spire.XLS for .NET を使用して Excel 文書を印刷ダイアログに送信する手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • PrintDialog オブジェクトを作成します。
  • PrintDialog オブジェクトのプロパティを使用してプリンター設定を指定します。
  • ワークブックに印刷ダイアログを適用します。
  • Workbook.PrintDocument プロパティを通じてワークブックから PrintDocument オブジェクトを取得します。
  • 印刷ダイアログを呼び出し、PrintDocument.Print() メソッドを使用して印刷を開始します。
  • C#
using System;
using Spire.Xls;
using System.Drawing.Printing;
using System.Windows.Forms;

namespace PrintExcelUsingPrintDialog
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // ワークブックオブジェクトを作成
            Workbook workbook = new Workbook();

            // Excelファイルをロード
            workbook.LoadFromFile("Sample.xlsx");

            // ワークシートを1ページに収める    
            PageSetup pageSetup = workbook.Worksheets[0].PageSetup;
            pageSetup.IsFitToPage = true;

            // PrintDialogオブジェクトを作成
            PrintDialog dialog = new PrintDialog();

            // プリンタ設定を指定
            dialog.AllowCurrentPage = true;
            dialog.AllowSomePages = true;
            dialog.AllowSelection = true;
            dialog.UseEXDialog = true;
            dialog.PrinterSettings.Duplex = Duplex.Simplex;

            // ダイアログをワークブックに適用
            workbook.PrintDialog = dialog;

            // ワークブックに基づいてPrintDocumentオブジェクトを作成
            PrintDocument printDocument = workbook.PrintDocument;

            // 印刷ダイアログを表示
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                printDocument.Print();
            }
        }
    }
}

C# で Excel 文書をサイレント印刷する

印刷ダイアログや印刷プロセスを表示したくない場合は、指定したプリンターに Excel 文書をサイレント印刷できます。以下はその手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • 印刷プロセスが表示されないように StandardPrintController に印刷コントローラーを設定します。
  • Workbook.PrintDocument.PrinterSettings プロパティを使用してワークブックから PrinterSettings オブジェクトを取得します。
  • PrinterSettings オブジェクトのプロパティを使用して、プリンター名、両面印刷モード、および印刷ページを指定します。
  • Workbook.PrintDocument.Print() メソッドを使用してワークブックを印刷します。
  • C#
using Spire.Xls;
using System.Drawing.Printing;

namespace SilentlyPrint
{
    class Program
    {
        static void Main(string[] args)
        {
            // ワークブックオブジェクトを作成
            Workbook workbook = new Workbook();

            // Excelファイルをロード
            workbook.LoadFromFile("Sample.xlsx");

            // ワークシートを1ページに収める    
            PageSetup pageSetup = workbook.Worksheets[0].PageSetup;
            pageSetup.IsFitToPage = true;

            // 印刷プロセスを表示しないようにStandardPrintControllerを設定
            workbook.PrintDocument.PrintController = new StandardPrintController();

            // ワークブックからPrinterSettingsを取得
            PrinterSettings settings = workbook.PrintDocument.PrinterSettings;

            // プリンタ名、両面印刷モード、および印刷ページを指定
            settings.PrinterName = "HP LaserJet P1007";
            settings.Duplex = Duplex.Simplex;
            settings.FromPage = 1;
            settings.ToPage = 3;

            // ワークブックを印刷
            workbook.PrintDocument.Print();
        }
    }
}

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

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

Excel ファイルは通常、数値やデータを格納するために使用されますが、ファイルに関連する画像が含まれている場合もあります。Excel ワークシートに画像を挿入した後、別の場所で使用するために画像を抽出したり、新しい画像に置き換えたり、ファイルを簡素化するために画像を削除したりする必要があるかもしれません。この記事では、C# で Spire.XLS for .NET を使用して、Excel ファイルからプログラムで画像を抽出、置換、削除する方法について説明します。

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

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

PM> Install-Package Spire.XLS

C# で Excel ファイルから画像を抽出する

Spire.XLS for .NET を使用すると、Excel ワークシート内のすべての画像を一括で抽出できます。以下の手順で詳細を説明します。

  • Workbook インスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.Pictures プロパティを使い、ワークシート内のすべての画像をループ処理します。
  • ExcelPicture.Picture.Save() メソッドを使って、画像を抽出して保存します。
  • C#
using Spire.Xls;

namespace ExtractImages
{
    class Program
    {
        static void Main(string[] args)
        {
            //ワークブックのインスタンスを作成
            Workbook workbook = new Workbook();

            //サンプルのExcelドキュメントを読み込む
            workbook.LoadFromFile("Sample.xlsx");

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

            //ワークシート内のすべての画像を取得
            for (int i = sheet.Pictures.Count - 1; i >= 0; i--)
            {
                ExcelPicture picture = sheet.Pictures[i];

                //画像を抽出
                picture.Picture.Save(string.Format("Images/image_{0}.png", i));
            }
            workbook.Dispose();
        }
    }
}

C#:Excel ファイル内の画像を抽出、置換、削除する方法

C# で Excel ファイル内の画像を置換する

以下は、Spire.XLS for .NET を使用して画像を別の画像に置き換える詳細な手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[0] プロパティを使用して、最初のワークシートを取得します。
  • Worksheet.Pictures[0] プロパティを使用して、最初のワークシートから最初の画像を取得します。
  • Image.FromFile() メソッドを使用して、指定されたファイルから画像をロードし、ExcelPicture.Picture プロパティの新しい値として設定します。そうすることで、元の画像が新しい画像に置き換えられます。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Collections;
using System.Drawing;

namespace ReplacePictureinExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            //ワークブックのインスタンスを作成
            Workbook workbook = new Workbook();
            //Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

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

            //画像コレクションを取得
            PicturesCollection pictureCollection = sheet.Pictures;

            //コレクションから最初の画像を取得
            ExcelPicture excelPicture = pictureCollection[0];

            //指定されたファイルから画像を作成
            excelPicture.Picture = Image.FromFile("keyboard.jpg");

            //ドキュメントを保存
            workbook.SaveToFile("output/Excelの画像を置き換え.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイル内の画像を抽出、置換、削除する方法

C# で Excel ファイル内の画像を削除する

Excel ワークシートから画像を削除するには、Worksheet.Pictures.Remove() メソッドを使用できます。以下は手順の詳細です。

  • Workbook インスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使って、特定のワークシートを取得します。
  • Worksheet.Pictures.Remove() メソッドを使用して、ワークシート内のすべての画像をループしながら削除します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。
  • C#
using Spire.Xls;

namespace DeleteImages
{
    class Program
    {
        static void Main(string[] args)
        {
            //ワークブックのインスタンスを作成
            Workbook workbook = new Workbook();

            //サンプルのExcelドキュメントを読み込む
            workbook.LoadFromFile("Sample.xlsx");

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

            //ワークシートからすべての画像を削除
            for (int i = sheet.Pictures.Count - 1; i >= 0; i--)
            {
                sheet.Pictures[i].Remove();
            }

            //結果のドキュメントを保存
            workbook.SaveToFile("output/Excelから画像を削除.xlsx");
            workbook.Dispose();
        }
    }
}

C#:Excel ファイル内の画像を抽出、置換、削除する方法

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

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

画像は、考えやアイデアを効果的に伝えるための強力なツールです。Excel レポートに画像を挿入することで、視聴者が意図を迅速かつ明確に理解できるようにすることがよくあります。この記事では、C# で Spire.XLS for .NET ライブラリを使用して Excel ファイルに画像を挿入する方法を紹介します。

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

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

PM> Install-Package Spire.XLS

ディスクから Excel ファイルに画像を挿入する

ディスクから Excel ファイルに画像を挿入する手順は以下の通りです:

  • Workbook インスタンスを初期化します。
  • Workbook.Worksheets[sheetIndex] プロパティを使用して最初のワークシートを取得します。
  • Worksheet.Pictures.Add() メソッドを使用して、ワークシートに画像を挿入します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。
  • C#
using Spire.Xls;

namespace InsertImageInExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookインスタンスを初期化
            Workbook workbook = new Workbook();
            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // ワークシートに画像を挿入
            sheet.Pictures.Add(3, 2, "image1.jpg");

            // 結果ファイルを保存
            workbook.SaveToFile("output/ディスクからExcelに画像を挿入.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルに画像を挿入する方法

URL から Web 画像を Excel ファイルに挿入する

URL から Web 画像を Excel ファイルに挿入する手順は以下の通りです:

  • Workbook インスタンスを初期化します。
  • Workbook.Worksheets[sheetIndex] プロパティを使用して最初のワークシートを取得します。
  • WebClient インスタンスを初期化し、WebClient.DownloadData(urlAddress) メソッドを使用して指定された URL から Web 画像をバイト配列としてダウンロードします。
  • バイト配列から MemoryStream インスタンスを初期化します。
  • MemoryStream から Image オブジェクトを作成し、Worksheet.Pictures.Add() メソッドを使用してワークシートに画像を挿入します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。
  • C#
using Spire.Xls;
using System.Drawing;
using System.IO;
using System.Net;

namespace InsertWebImageInExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookインスタンスを初期化
            Workbook workbook = new Workbook();

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

            // 画像URLを指定
            string URL = "https://www.e-iceblue.com/downloads/demo/Logo.png";

            // WebClientインスタンスを初期化
            WebClient webClient = new WebClient();
            // URLから画像をバイト配列としてダウンロード
            byte[] imageData = webClient.DownloadData(URL);

            // バイト配列からMemoryStreamインスタンスを初期化
            MemoryStream objImage = new MemoryStream(imageData);

            // メモリストリームからImageオブジェクトを作成
            Image image = Image.FromStream(objImage);

            // ワークシートに画像を挿入
            sheet.Pictures.Add(3, 2, image);

            // 結果ファイルを保存
            workbook.SaveToFile("output/URLからExcelに画像を挿入.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルに画像を挿入する方法

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

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