チュートリアル

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

Koohji

Koohji

HTML はオンライン閲覧向けに設計されていますが、Word 文書は印刷や物理的な文書として一般的に使用されます。HTML を Word に変換することで、ページ区切りやヘッダー、フッターなどの要素が適切に処理され、印刷に最適化された形式でコンテンツを整えることができます。本記事では、Spire.Doc for Python を使用して Python で HTML を Word に変換する方法を説明します。

Spire.Doc for Python のインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

Python で HTML ファイルを Word に変換する

Spire.Doc for Python の Document.SaveToFile() メソッドを使用すると、HTML ファイルを簡単に Word 形式に変換できます。手順は以下のとおりです。

  • Document クラスのオブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して HTML ファイルを読み込みます。
  • Document.SaveToFile() メソッドを使用して HTML を Word 形式で保存します。
  • Python
from spire.doc import Document, FileFormat, XHTMLValidationType

# Document のインスタンスを作成します
doc = Document()

# HTML ファイルを読み込みます
doc.LoadFromFile("Sample.html", FileFormat.Html, XHTMLValidationType.none)

# HTML ファイルを Word 文書として保存します
doc.SaveToFile("output/HTMLToWord.docx", FileFormat.Docx)
doc.Close()

PythonコードでHTMLファイルをWord文書に変換

Python で HTML 文字列を Word に変換する

HTML ファイルだけでなく、HTML 形式の文字列も Word に変換できます。その場合、Paragraph.AppendHTML() メソッドを使用します。手順は以下のとおりです。

  • Document クラスのオブジェクトを作成します。
  • Document.AddSection() メソッドを使用してセクションを追加します。
  • Section.AddParagraph() メソッドを使用してセクション内に段落を追加します。
  • Paragraph.AppendHTML() メソッドを使用して段落に HTML 文字列を追加します。
  • Document.SaveToFile() メソッドを使用して結果を Word 形式で保存します。
  • Python
from spire.doc import Document, FileFormat

# Document のインスタンスを作成する
doc = Document()

# 文書にセクションを追加する
section = doc.AddSection()

# セクションに段落を追加する
paragraph = section.AddParagraph()

# HTML 文字列を指定する
htmlString = """
              <h1 style=")color: #4682b4;">夢幻都市の軌跡</h1>
<p style="font-size: 14px; text-align: justify;">
  この文書は、HTML文字列をWord文書に挿入する例です。<strong>強調</strong>や<em>斜体</em>のスタイルが含まれています。
</p>
<table style="width: 100%; border-collapse: collapse; margin: 10px 0;">
  <thead>
    <tr>
      <th style="border: 1px solid #ccc; padding: 8px; background-color: #87cefa; color: #fff;">項目</th>
      <th style="border: 1px solid #ccc; padding: 8px; background-color: #87cefa; color: #fff;">内容</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="border: 1px solid #ccc; padding: 8px;">施設</td>
      <td style="border: 1px solid #ccc; padding: 8px;">未来文化センター</td>
    </tr>
    <tr>
      <td style="border: 1px solid #ccc; padding: 8px;">状態</td>
      <td style="border: 1px solid #ccc; padding: 8px;">進行中</td>
    </tr>
  </tbody>
</table>
<ul style="margin-left: 20px;">
  <li>最新技術の導入</li>
  <li>環境に優しい設計</li>
</ul>
<blockquote style="border-left: 4px solid #ccc; margin: 10px 0; padding-left: 10px;">
  <p style="font-style: italic;">「都市の未来は我々の手の中にある。」</p>
</blockquote>
"""

# HTML 文字列を段落に挿入する
paragraph.AppendHTML(htmlString)

# 文書を保存する
doc.SaveToFile("output/InsertHTMLStringToWord.docx", FileFormat.Docx)
doc.Close()

PythonコードでWord文書にHTML文字列を挿入

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

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

Word 文書を HTML に変換することで、コンテンツをオンラインで簡単に共有・公開できます。また、HTML は検索エンジンに優しい形式であるため、検索エンジンがコンテンツをより効果的にインデックス化し、検索結果での可視性を向上させることができます。本記事では、Spire.Doc for Python を使用して、Word 文書をプログラムで HTML に変換する方法を解説します。

Spire.Doc for Python のインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

Python で Doc/Docx を HTML に変換する

Spire.Doc for Python は、Document.SaveToFile(fileName string, FileFormat.Html) メソッドを提供しており、Word 文書(doc/docx 形式)を HTML ファイルとして簡単に保存できます。以下に、詳細な手順を示します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.SaveToFile() メソッドを使用して文書を HTML ファイルとして保存します。
  • Python
from spire.doc import Document, FileFormat

# Documentクラスのインスタンスを作成します
doc = Document()

# Word文書を読み込みます
doc.LoadFromFile("Sample.docx")

# 文書をHTML形式で保存します
doc.SaveToFile("output/WordToHTML.html", FileFormat.Html)
doc.Close()

PythonでWordをHTMLに変換

Word から HTML への書き出しオプションを設定する

Spire.Doc for Python は、変換時にエクスポートオプションを設定できる HtmlExportOptions クラスも提供しています。これにより、CSS スタイルや画像の埋め込み、フォームフィールドをプレーンテキストとしてエクスポートするかどうかなどを設定できます。以下は、HtmlExportOptions クラスを通して設定できるエクスポート・オプションの表です。

プロパティ 説明
CssStyleSheetType HTML の CSS スタイルシートの種類を指定します(外部または内部)。
CssStyleSheetFileName HTML の CSS スタイルシートファイルの名前を指定します。
ImageEmbedded Data URI スキームを使用してHTMLコード内に画像を埋め込むかどうかを指定します。
ImagesPath エクスポートされた HTML 内の画像フォルダを指定します。
UseSaveFileRelativePath 画像ファイルパスを HTML ファイルパスに対して相対パスとして使用するかどうかを指定します。
HasHeadersFooters エクスポートされた HTML にヘッダーとフッターを含めるかどうかを指定します。
IsTextInputFormFieldAsText テキスト入力フォームフィールドを HTML でテキストとしてエクスポートするかどうかを指定します。
IsExportDocumentStyles 文書スタイルを HTML の <head> にエクスポートするかどうかを指定します。

以下に、詳細な手順を示します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • CSS スタイルを埋め込むには、Document.HtmlExportOptions.CssStyleSheetType プロパティを設定します。
  • 画像の埋め込み設定は、Document.HtmlExportOptions.ImageEmbedded プロパティを使用します。
  • フォームフィールドをプレーンテキストとしてエクスポートする設定は、Document.HtmlExportOptions.IsTextInputFormFieldAsText プロパティを使用します。
  • Document.SaveToFile() メソッドを使用して変換後の文書を保存します。
  • Python
from spire.doc import *

# Documentクラスのインスタンスを作成します
document = Document()

# Word文書を読み込みます
document.LoadFromFile("Sample.docx")

# CSSスタイルを埋め込みます
document.HtmlExportOptions.CssStyleSheetFileName = "Sample.css"
document.HtmlExportOptions.CssStyleSheetType = CssStyleSheetType.External

# 画像を埋め込むかどうかを設定します
document.HtmlExportOptions.ImageEmbedded = False
document.HtmlExportOptions.ImagesPath = "Images/"

# フォームフィールドをプレーンテキストとしてエクスポートするかどうかを設定します
document.HtmlExportOptions.IsTextInputFormFieldAsText = True

# 文書をHTMLファイルとして保存します
document.SaveToFile("ToHtmlExportOption.html", FileFormat.Html)
document.Close()

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

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

Word 文書には重要なデータを含む表がよくあります。この表からデータを抽出することは、さらなる分析やレポート作成、コンテンツの再作成など、さまざまなシナリオで使用できます。Java を使用して Word 文書から表を自動的に抽出することで、開発者は効率的にこの構造化データにアクセスし、データベースやスプレッドシートなどに適した形式に変換することができ、このデータをさまざまなシナリオで活用できます。本記事では、Spire.Doc for Java を使用して、Java プロジェクトで Word 文書から表を抽出する方法を紹介します。

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

まず、Spire.Doc 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.doc</artifactId>
        <version>13.1.3</version>
    </dependency>
</dependencies>

Java で Word 文書から表を抽出する

Spire.Doc for Java を使用すると、開発者は Section.getTables() メソッドを利用して Word 文書から表を抽出できます。表のデータは、行とセルを繰り返し処理することでアクセスできます。表抽出の手順は以下の通りです:

  • Document オブジェクトを作成します。
  • Document.loadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.getSections() メソッドを使用して文書のセクションにアクセスし、繰り返し処理します。
  • 各セクションの表に Section.getTables() メソッドを使用してアクセスし、繰り返し処理します。
  • 各表の行に Table.getRows() メソッドを使用してアクセスし、繰り返し処理します。
  • 各行のセルに TableRow.getCells() メソッドを使用してアクセスし、繰り返し処理します。
  • 各セルのテキストを TableCell.getParagraphs()Paragraph.getText() メソッドを使用して、その段落を繰り返し処理することで取得します。
  • 抽出した表データを StringBuilder オブジェクトに追加します。
  • StringBuilder オブジェクトをテキストファイルに書き込むか、必要に応じて使用します。
  • Java

import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;

import java.io.FileWriter;
import java.io.IOException;

public class ExtractWordTable {
    public static void main(String[] args) {
        // Documentオブジェクトを作成します
        Document doc = new Document();

        try {
            // Wordドキュメントを読み込みます
            doc.loadFromFile("Sample.docx");

            // ドキュメント内のセクションを繰り返し処理します
            for (int i = 0; i < doc.getSections().getCount(); i++) {
                // セクションを取得します
                Section section = doc.getSections().get(i);
                // セクション内のテーブルを繰り返し処理します
                for (int j = 0; j < section.getTables().getCount(); j++) {
                    // テーブルを取得します
                    Table table = section.getTables().get(j);
                    // テーブルの内容を収集します
                    StringBuilder tableText = new StringBuilder();
                    for (int k = 0; k < table.getRows().getCount(); k++) {
                        // 行を取得します
                        TableRow row = table.getRows().get(k);
                        // 行内のセルを繰り返し処理します
                        StringBuilder rowText = new StringBuilder();
                        for (int l = 0; l < row.getCells().getCount(); l++) {
                            // セルを取得します
                            TableCell cell = row.getCells().get(l);
                            // セル内の段落を繰り返し処理してテキストを取得します
                            String cellText = "";
                            for (int m = 0; m < cell.getParagraphs().getCount(); m++) {
                                Paragraph paragraph = cell.getParagraphs().get(m);
                                cellText += paragraph.getText() + " ";
                            }
                            if (l < row.getCells().getCount() - 1) {
                                rowText.append(cellText).append("\t");
                            } else {
                                rowText.append(cellText).append("\n");
                            }
                        }
                        tableText.append(rowText);
                    }

                    // try-with-resourcesを使用して、テーブルの内容をファイルに書き込みます
                    try (FileWriter writer = new FileWriter("output/Tables/Section-" + (i + 1) + "-Table-" + (j + 1) + ".txt")) {
                        writer.write(tableText.toString());
                    }
                }
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

JavaでWordの表をテキストに抽出

Word 文書の表を Excel ワークシートに抽出する

開発者は Spire.Doc for Java と Spire.XLS for Java を組み合わせて、Word 文書から表データを抽出し、Excel ワークシートに書き込むことができます。まず、Spire.XLS for Java をダウンロードするか、以下の Maven 設定を追加します:

<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.xls</artifactId>
        <version>15.1.3</version>
    </dependency>
</dependencies>

Word 文書から Excel ワークブックに表を抽出する詳細な手順は以下の通りです:

  • Document オブジェクトを作成します。
  • Workbook オブジェクトを作成し、Workbook.getWorksheets().clear() メソッドを使用してデフォルトのワークシートを削除します。
  • Document.loadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.getSections() メソッドを使用して文書のセクションにアクセスし、繰り返し処理します。
  • 各セクションの表に Section.getTables() メソッドを使用してアクセスし、繰り返し処理します。
  • 各表に対して Workbook.getWorksheets().add() メソッドを使用してワークシートを作成します。
  • 各表の行に Table.getRows() メソッドを使用してアクセスし、繰り返し処理します。
  • 各行のセルに TableRow.getCells() メソッドを使用してアクセスし、繰り返し処理します。
  • 各セルのテキストを TableCell.getParagraphs()Paragraph.getText() メソッドを使用して、その段落を繰り返し処理することで取得します。
  • 抽出したセルのテキストを Worksheet.getRange().get(row, column).setValue() メソッドを使用して、ワークシートの対応するセルに書き込みます。
  • 必要に応じてワークシートのフォーマットを調整します。
  • Workbook.saveToFile() メソッドを使用してワークブックを Excel ファイルとして保存します。
  • Java
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class ExtractWordTableToExcel {
    public static void main(String[] args) {
        // Documentオブジェクトを作成します
        Document doc = new Document();

        // Workbookオブジェクトを作成します
        Workbook workbook = new Workbook();
        // デフォルトのワークシートを削除します
        workbook.getWorksheets().clear();

        try {
            // Wordドキュメントを読み込みます
            doc.loadFromFile("Sample.docx");

            // ドキュメント内のセクションを繰り返し処理します
            for (int i = 0; i < doc.getSections().getCount(); i++) {
                // セクションを取得します
                Section section = doc.getSections().get(i);
                // セクション内のテーブルを繰り返し処理します
                for (int j = 0; j < section.getTables().getCount(); j++) {
                    // テーブルを取得します
                    Table table = section.getTables().get(j);
                    // 各テーブル用のワークシートを作成します
                    Worksheet sheet = workbook.getWorksheets().add("Section-" + (i + 1) + "-Table-" + (j + 1));
                    for (int k = 0; k < table.getRows().getCount(); k++) {
                        // 行を取得します
                        TableRow row = table.getRows().get(k);
                        for (int l = 0; l < row.getCells().getCount(); l++) {
                            // セルを取得します
                            TableCell cell = row.getCells().get(l);
                            // セル内の段落を繰り返し処理してテキストを取得します
                            String cellText = "";
                            for (int m = 0; m < cell.getParagraphs().getCount(); m++) {
                                Paragraph paragraph = cell.getParagraphs().get(m);
                                if (m > 0 && m < cell.getParagraphs().getCount() - 1) {
                                    cellText += paragraph.getText() + "\n";
                                } else {
                                    cellText += paragraph.getText();
                                }
                                // セルのテキストを対応するワークシートのセルに書き込みます
                                sheet.getRange().get(k + 1, l + 1).setValue(cellText);
                            }
                            // 列の自動調整を行います
                            sheet.autoFitColumn(l + 1);
                        }
                    }
                }
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        // Excelファイルとして保存します
        workbook.saveToFile("output/WordTableToExcel.xlsx", FileFormat.Version2016);
        workbook.dispose();
    }
}

JavaでWordの表をExcelのワークシートに抽出

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

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

テキストファイルは、書式やスタイルが適用されていないプレーンテキストのみを含む一般的なファイル形式です。もしテキストファイルに書式を適用したり、画像やグラフ、表、その他のメディア要素を追加したい場合は、Word ファイルに変換することをおすすめします。

逆に、Word 文書の内容を効率的に抽出したり、ファイルサイズを減らしたい場合は、テキスト形式に変換する方法が役立ちます。本記事では、Spire.Doc for Python を使用して、テキストファイルを Word 形式に変換する方法と、Word ファイルをテキスト形式に変換する方法を解説します。

Spire.Doc for Python のインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

Python でテキスト(TXT)を Word に変換する

TXT から Word ドキュメントへの変換は、数行のコードで簡単に実現できます。以下は詳細な手順です。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile(string fileName) メソッドを使用してテキストファイルを読み込みます。
  • Document.SaveToFile(string fileName, FileFormat fileFormat) メソッドを使用して、テキストファイルを Word ドキュメント形式で保存します。
  • Python
from spire.doc import *

# ドキュメントオブジェクトを作成
document = Document()

# TXTファイルを読み込む
document.LoadFromFile("Sample.txt")

# TXTファイルをWord形式で保存
document.SaveToFile("output/テキストをWordに変換.docx", FileFormat.Docx2016)
document.Close()

PythonコードでテキストをWordに変換

Python で Word をテキスト(TXT)に変換する

Spire.Doc for Python が提供する Document.SaveToFile(string fileName, FileFormat.Txt) メソッドを使用すると、Word ファイルをテキスト形式にエクスポートできます。以下は詳細な手順です。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile(string fileName) メソッドを使用して Word ファイルを読み込みます。
  • Document.SaveToFile(string fileName, FileFormat.Txt) メソッドを使用して、Word ファイルを TXT 形式で保存します。
  • Python
from spire.doc import *

# ドキュメントオブジェクトを作成
document = Document()

# ディスクからWordファイルを読み込む
document.LoadFromFile("Sample.docx")

# Wordファイルをtxt形式で保存
document.SaveToFile("output/Wordをテキストに変換.txt", FileFormat.Txt)
document.Close()

PythonコードでWordをテキストに変換

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

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

Word 文書を画像に変換することは、フォーマットの問題やデバイス間の互換性を気にせずにコンテンツを共有または提示したい場合に便利で実用的なオプションです。Word 文書を画像に変換することで、テキスト、画像、フォーマットがそのまま保持されるため、ソーシャルメディア、ウェブサイト、またはメールでの文書共有に最適な方法となります。本記事では、Spire.Doc for Python を使用して Python で Word ドキュメントを PNG、JPEG、または SVG 形式に変換する方法について説明します。

Spire.Doc for Python のインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

Python で Word を PNG または JPEG に変換する

Spire.Doc for Python には、特定のページをビットマップ画像に変換するための Document.SaveImageToStream() メソッドがあります。その後、このビットマップ画像を PNG、JPEG、または BMP などの一般的な画像フォーマットに保存できます。詳細な手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ファイルを読み込みます。
  • 文書内の各ページを取得し、Document.SaveImageToStream() メソッドを使用して特定のページをビットマップ画像に変換します。
  • ビットマップ画像を PNG または JPEG ファイルとして保存します。
  • Python
from spire.doc import *

# ドキュメントオブジェクトを作成
document = Document()

# Wordファイルを読み込む
document.LoadFromFile("Sample.docx")

# ドキュメント内のページをループ処理
for i in range(document.GetPageCount()):

    # 特定のページをビットマップ画像に変換
    imageStream = document.SaveImageToStreams(i, ImageType.Bitmap)

    # ビットマップをPNGファイルとして保存
    with open('Output/Images/Image-{0}.png'.format(i),'wb') as imageFile:
        imageFile.write(imageStream.ToArray())

document.Close()

Python で Word 文書を画像に変換

Python で Word を SVG に変換する

Word ドキュメントを複数の SVG ファイルに変換するには、Document.SaveToFile() メソッドを使用するだけです。手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ファイルを読み込みます。
  • Document.SaveToFile() メソッドを使用して、個別の SVG ファイルに変換します。
  • Python
from spire.doc import *
from spire.doc.common import *

# ドキュメントオブジェクトを作成
document = Document()

# Wordファイルを読み込む
document.LoadFromFile("Sample.docx")

# SVGファイルとして保存
document.SaveToFile("output/SVGs/WordをSVGに変換.svg", FileFormat.SVG)

document.Close()

Python で Word を SVG に変換

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

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

デジタルドキュメントは、個人および業務において重要な役割を果たしています。その中でよく使用される形式の 1 つが Microsoft Word です。これは、テキストドキュメントの作成や編集に使われます。しかし、Word ファイルをより普遍的に利用可能な形式、例えば PDF に変換する必要が生じることがあります。PDF は、フォーマットの維持、互換性の確保、異なるデバイスやオペレーティングシステム間での文書の完全性の保持といった利点を提供します。この記事では、Spire.Doc for Python を使って Word から PDF に変換する方法を説明します。

Spire.Doc for Pythonのインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

Python で Doc または Docx を PDF に変換する

Spire.Doc for Python には、Document.SaveToFile(string fileName, FileFormat fileFormat) メソッドが用意されており、これを使用して Word を PDF、XPS、HTML、RTF などの形式で保存できます。追加設定をせずに Word 文書を通常の PDF として保存したい場合は、以下の手順に従ってください。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して、サンプルの Word 文書を読み込みます。
  • Document.SaveToFile() メソッドを使用して、文書を PDF として保存します。
  • Python
from spire.doc import *
from spire.doc.common import *

# Word文書を作成
document = Document()

# docまたはdocxファイルを読み込む
document.LoadFromFile("Sample.docx")

# 文書をPDFとして保存
document.SaveToFile("output/WordからPDFへの変換.pdf", FileFormat.PDF)
document.Close()

Python で Doc または Docx を PDF に変換する

Python で Word をパスワード保護付き PDF に変換する

Word をパスワード保護付きPDFに変換するには、Document.SaveToFile(string fileName, ToPdfParameterList paramList) メソッドを使用します。この ToPdfParameterList パラメータにより、Word 文書を PDF に変換する際の設定を制御できます。以下の手順で実行します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して、サンプルの Word 文書を読み込みます。
  • 変換オプションを設定するための ToPdfParameterList オブジェクトを作成します。
  • PDF のパスワード(開封パスワードと権限パスワード)を ToPdfParameterList.PdfSecurity.Encrypt() メソッドで設定します。
  • Document.SaveToFile() メソッドで、パスワード付き PDF として保存します。
  • Python
from spire.doc import *
from spire.doc.common import *

# Documentオブジェクトを作成
document = Document()

# Wordファイルを読み込む
document.LoadFromFile("Sample.docx")

# ToPdfParameterListオブジェクトを作成
parameter = ToPdfParameterList()

# オープンパスワードと許可パスワードを指定
openPsd = "abc-123"
permissionPsd = "permission"

# 生成されるPDFをオープンパスワードと許可パスワードで保護
parameter.PdfSecurity.Encrypt(openPsd, permissionPsd, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit)

# Word文書をPDFとして保存
document.SaveToFile("output/パスワードを付けてWordをPDFに変換.pdf", parameter)
document.Close()

Python で Word をパスワード保護付き PDF に変換する

Python で Word からブックマーク付き PDF に変換する

ドキュメントにブックマークを追加すると、可読性が向上します。Word から PDF を作成する際に、既存のブックマークを保持したり、見出しに基づいて新しいブックマークを作成したりすることが可能です。以下の手順で、ブックマーク付きの PDF に変換します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して、Word ファイルを読み込みます。
  • 変換オプションを設定するための ToPdfParameterList オブジェクトを作成します。
  • CreateWordBookmarks プロパティを true に設定すると、Word 文書のブックマークで PDF にブックマークが作成されます。
  • または、CreateWordBookmarksUsingHeadingstrue に設定すると、文書内の見出しでブックマークを作成することができます。
  • Document.SaveToFile() メソッドで、PDF として保存します。
  • Python
from spire.doc import *
from spire.doc.common import *

# Documentオブジェクトを作成
document = Document()

# Wordファイルを読み込む
document.LoadFromFile("Sample.docx")

# ToPdfParameterListオブジェクトを作成
parames = ToPdfParameterList()

# Wordの見出しを使ってブックマークを作成
#parames.CreateWordBookmarksUsingHeadings = True

# Wordの既存のブックマークを使ってPDFにブックマークを作成
parames.CreateWordBookmarks = True

# 文書をPDFとして保存
document.SaveToFile("output/ブックマーク付きWordをPDFに変換.pdf", FileFormat.PDF)
document.Close()

Python で Word からブックマーク付き PDF に変換する

Python でフォントを埋め込んだ PDF に変換する

PDF 文書がどのデバイスでも一貫して表示されるようにするためには、生成された PDF 文書にフォントを埋め込む必要があります。以下は、Word 文書で使用されているフォントを PDF に埋め込む手順です。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して、サンプルの Word ファイルを読み込みます。
  • 変換オプションを設定するための ToPdfParameterList オブジェクトを作成します。
  • ToPdfParameterList.IsEmbeddedAllFonts プロパティを設定して、フォントを埋め込みます。
  • Document.SaveToFile() メソッドで、PDF として保存します。
  • Python
from spire.doc import *
from spire.doc.common import *

# Documentオブジェクトを作成
document = Document()

# Wordファイルを読み込む
document.LoadFromFile("Sample.docx")

# ToPdfParameterListオブジェクトを作成
parameter = ToPdfParameterList()

# PDFにフォントを埋め込む
parameter.IsEmbeddedAllFonts = True

# Word文書をPDFとして保存
document.SaveToFile("output/フォントを埋め込んだWordからPDFへの変換.pdf", parameter)
document.Close()

Python でフォントを埋め込んだ PDF に変換する

Python で Word を PDF に変換する際の画像品質を設定する

Word 文書を PDF に変換する際、多くの高品質画像が含まれている場合は、生成されるファイルのサイズが重要です。変換プロセス中に画像の品質を圧縮することができます。以下の手順に従ってください。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して、サンプルの Word ファイルを読み込みます。
  • Document.JPEGQuality プロパティを使用して、画像品質を設定します。
  • Document.SaveToFile() メソッドで、PDF として保存します。
  • Python
from spire.doc import *

# Documentオブジェクトを作成
document = Document()

# Wordファイルを読み込む
document.LoadFromFile("Sample.docx")

# 画像を元の品質の40%に圧縮
document.JPEGQuality = 40

# 元の画像品質を保持
# document.JPEGQuality = 100

# Word文書をPDFとして保存
document.SaveToFile("output/画質の設定.pdf", FileFormat.PDF)
document.Close()

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

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するには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 セクションにスライドを挿入する

スライドを挿入する操作は、セクションに新しいコンテンツを追加する必要がある場合に頻繁に行われます。Spire.Presentation for .NET を使用すると、Section.Insert() メソッドでスライドをセクションに挿入できます。詳細な手順は以下の通りです。

  • Presentation クラスのインスタンスを作成します。
  • Presentation.LoadFromFile() メソッドを使用して、PowerPoint プレゼンテーションを読み込みます。
  • Presentation.SectionList(index) プロパティを使用して、インデックス(0ベース)に基づいて特定のセクションを取得します。
  • 新しいスライドをプレゼンテーションに追加し、Section.Insert() メソッドを使用してそのスライドをセクションに挿入します。
  • プレゼンテーションから追加したスライドを削除します。
  • Presentation.SaveToFile() メソッドを使用して、結果のプレゼンテーションを保存します。
  • C#
using Spire.Presentation;

namespace InsertSlidesInSection
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Presentation クラスのインスタンスを作成します
            using (Presentation presentation = new Presentation())
            {
                // PowerPoint プレゼンテーションを読み込みます
                presentation.LoadFromFile("Sample.pptx");

                // 最初のセクションにアクセスします
                Section firstSection = presentation.SectionList[0];

                // プレゼンテーションに新しいスライドを追加し、そのセクションの先頭に挿入します
                ISlide slide = presentation.Slides.Append();
                firstSection.Insert(0, slide);

                // プレゼンテーションから追加したスライドを削除します
                presentation.Slides.Remove(slide);

                // 修正されたプレゼンテーションを保存します
                presentation.SaveToFile("セクションにスライドを追加.pptx", FileFormat.Auto);
            }
        }
    }
}

C# で PowerPoint セクションにスライドを挿入する

C# で PowerPoint セクションからスライドを取得する

特定のセクションからスライドを抽出することで、スライドの並べ替えや特定のフォーマット適用など、対象を絞った操作が可能になります。Spire.Presentation for .NET の Section.GetSlides() メソッドを使用すると、指定したセクション内のすべてのスライドを簡単に取得できます。詳細な手順は以下の通りです。

  • Presentation クラスのインスタンスを作成します。
  • Presentation.LoadFromFile() メソッドを使用して、PowerPoint プレゼンテーションを読み込みます。
  • Presentation.SectionList(index) プロパティを使用して、インデックス(0ベース)に基づいて特定のセクションを取得します。
  • Section.GetSlides() メソッドを使用して、セクション内のスライドを取得します。
  • 取得したスライドを繰り返し処理して、それぞれのスライド番号(1ベース)を取得します。
  • C#
using Spire.Presentation;

namespace RetrieveSlidesInSection
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Presentation クラスのインスタンスを作成します
            using (Presentation presentation = new Presentation())
            {
                // PowerPoint プレゼンテーションを読み込みます
                presentation.LoadFromFile("Sample.pptx");

                // 3 番目のセクション内のスライドを取得します
                Section section = presentation.SectionList[1];
                ISlide[] slides = section.GetSlides();

                // セクション内の各スライドのスライド番号を出力します
                foreach (ISlide slide in slides)
                {
                    Console.Write(slide.SlideNumber + " ");
                }
                Console.ReadKey();
            }
        }
    }
}

C# で PowerPoint セクションからスライドを取得する

C# で PowerPoint セクション内のスライドを並べ替える

スライドを並べ替えることは、関連するコンテンツが論理的な順序で続くようにするために重要です。Spire.Presentation for .NET では、Section.Move() メソッドを使用して、セクション内のスライドを別の位置に移動できます。詳細な手順は以下の通りです。

  • Presentation クラスのインスタンスを作成します。
  • Presentation.LoadFromFile() メソッドを使用して、PowerPoint プレゼンテーションを読み込みます。
  • Presentation.SectionList(index) プロパティを使用して、インデックス(0ベース)に基づいて特定のセクションを取得します。
  • Section.Move() メソッドを使用して、セクション内の特定のスライドを別の位置に移動します。
  • Presentation.SaveToFile() メソッドを使用して、結果のプレゼンテーションを保存します。
  • C#
using Spire.Presentation;

namespace ReorderSlidesInSection
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Presentation クラスのインスタンスを作成します
            using (Presentation presentation = new Presentation())
            {
                // PowerPoint プレゼンテーションを読み込みます
                presentation.LoadFromFile("Sample.pptx");

                // 3 番目のセクションにアクセスします
                Section section = presentation.SectionList[1];

                // セクション内のスライドを取得します
                ISlide[] slides = section.GetSlides();

                // セクション内の最初のスライドを指定した位置に移動します
                section.Move(2, slides[0]);

                // 修正されたプレゼンテーションを保存します
                presentation.SaveToFile("セクションのスライドの並べ替え.pptx", FileFormat.Pptx2016);
            }
        }
    }
}

C# で PowerPoint セクション内のスライドを並べ替える

C# で PowerPoint セクションからスライドを削除する

セクションからスライドを削除することで、プレゼンテーションを簡素化でき、古くなったスライドや関連性のないスライドを除外するのに役立ちます。Spire.Presentation for .NET の Section.RemoveAt() または Section.RemoveRange() メソッドを使用すると、個々のスライドやスライドの範囲を簡単に削除できます。詳細な手順は以下の通りです。

  • Presentation クラスのインスタンスを作成します。
  • Presentation.LoadFromFile() メソッドを使用して、PowerPoint プレゼンテーションを読み込みます。
  • Presentation.SectionList(index) プロパティを使用して、インデックス(0ベース)に基づいて特定のセクションを取得します。
  • Section.RemoveAt() または Section.RemoveRange() メソッドを使用して、プレゼンテーションから特定のスライドまたはスライドの範囲を削除します。
  • Presentation.SaveToFile() メソッドを使用して、結果のプレゼンテーションを保存します。
  • C#
using Spire.Presentation;

namespace RemoveSlidesInSection
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Presentation クラスのインスタンスを作成します
            using (Presentation presentation = new Presentation())
            {
                // PowerPoint プレゼンテーションを読み込みます
                presentation.LoadFromFile("Sample.pptx");

                // 3 番目のセクションにアクセスします
                Section section = presentation.SectionList[1];

                // セクションから最初のスライドを削除します
                section.RemoveAt(2);

                // または、セクションから複数のスライドを範囲指定で削除します
                //section.RemoveRange(0, 2);

                // 修正されたプレゼンテーションを保存します
                presentation.SaveToFile("セクション内のスライドの削除.pptx", FileFormat.Pptx2016);
            }
        }
    }
}

C# で PowerPoint セクションからスライドを削除する

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

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

C# で Excel を操作する際、行、列、セルをコピーするのは一見簡単そうに思えますが、元の書式を維持するとなると一筋縄ではいかないことがあります。レポート用のデータ整理やプレゼンテーション作成、またはスプレッドシートを見栄えよく整える場合でも、元の見た目を維持することは重要です。本記事では、Spire.XLS for .NET を使用して、C# で Excel の行、列、セルを元の書式を保持したままコピーする方法を解説します。

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

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

PM> Install-Package Spire.XLS

C# で Excel の行を書式付きでコピーする

Excel で行をコピーする際に書式を維持するには、Worksheet.CopyRow(CellRange sourceRow, Worksheet destSheet, int destRowIndex, CopyRangeOptions copyOptions) メソッドを使用すると効率的です。このメソッドを使用すると、同じワークシート内または異なるワークシート間で行を正確にコピーできます。また、CopyRangeOptions パラメーターを使用して、すべての書式、条件付き書式、データ検証、スタイル、または数式の値のみをコピーするなど、コピー動作を制御することも可能です。

以下は、Spire.XLS を使用して異なるワークシート間で書式付きで行をコピーする手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、ソースと宛先のワークシートを取得します。
  • Worksheet.Rows[index] プロパティを使用してコピーしたい行を取得します。
  • Worksheet.CopyRow(CellRange sourceRow, Worksheet destSheet, int destRowIndex, CopyRangeOptions copyOptions) メソッドを使用して、ソースワークシートから宛先ワークシートに行とその書式をコピーします。
  • ソース行のセル幅を宛先行の対応するセルにコピーします。
  • Workbook.SaveToFile() メソッドを使用してブックをファイルに保存します。
  • C#
using Spire.Xls;

namespace CopyRows
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();
            // Excelファイルを読み込みます
            workbook.LoadFromFile("Sample.xlsx");

            // ソースワークシートを取得します
            Worksheet sheet1 = workbook.Worksheets[0];

            // 新しいワークシートを作成します
            Worksheet sheet2 = workbook.Worksheets.Add("Sheet2");

            // コピーしたい行を取得します
            CellRange row = sheet1.Rows[0];

            // ソースワークシートの行を宛先ワークシートの1行目にコピーします
            sheet1.CopyRow(row, sheet2, 1, CopyRangeOptions.All);

            int columns = sheet1.Columns.Length;

            // ソース行内のセルの列幅を宛先行内の対応するセルにコピーします
            for (int i = 0; i < columns; i++)
            {
                double columnWidth = row.Columns[i].ColumnWidth;
                sheet2.Rows[0].Columns[i].ColumnWidth = columnWidth;
            }

            // ワークブックをファイルに保存します
            workbook.SaveToFile("output/行のコピー.xlsx");
            workbook.Dispose();
        }
    }
}

Spire.XLSを使用した書式付き行のコピー

C# で Excel の列を書式付きでコピーする

同様に、列を書式付きでコピーするには、Worksheet.CopyColumn(CellRange sourceColumn, Worksheet destSheet, int destColIndex, CopyRangeOptions copyOptions) メソッドを使用できます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、ソースと宛先のワークシートを取得します。
  • Worksheet.Columns[index] プロパティを使用してコピーしたい列を取得します。
  • Worksheet.CopyColumn(CellRange sourceColumn, Worksheet destSheet, int destColIndex, CopyRangeOptions copyOptions) メソッドを使用して、ソースワークシートから宛先ワークシートに列とその書式をコピーします。
  • ソース列のセルの行の高さを宛先列の対応するセルにコピーします。
  • Workbook.SaveToFile() メソッドを使用してブックをファイルに保存します。
  • C#
using Spire.Xls;

namespace CopyColumns
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();
            // Excelファイルを読み込みます
            workbook.LoadFromFile("Sample.xlsx");

            // ソースワークシートを取得します
            Worksheet sheet1 = workbook.Worksheets[0];

            // 宛先ワークシートを取得します
            Worksheet sheet2 = workbook.Worksheets.Add("Sheet2");

            // コピーしたい列を取得します
            CellRange column = sheet1.Columns[0];

            // ソースワークシートの列を宛先ワークシートの1列目にコピーします
            sheet1.CopyColumn(column, sheet2, 1, CopyRangeOptions.All);

            int rows = column.Rows.Length;

            // ソース列内のセルの行高さを宛先列内の対応するセルにコピーします
            for (int i = 0; i < rows; i++)
            {
                double rowHeight = column.Rows[i].RowHeight;
                sheet2.Columns[0].Rows[i].RowHeight = rowHeight;
            }

            // ワークブックをファイルに保存します
            workbook.SaveToFile("output/列のコピー.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

.NETを使った書式付き列のコピー

C# で Excel のセルを書式付きでコピーする

行や列のコピーに加え、Spire.XLS for .NETを使用すると、CellRange.Copy(CellRange destRange, CopyRangeOptions copyOptions) メソッドを利用してセル範囲を書式付きでコピーすることも可能です。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、ソースと宛先のワークシートを取得します。
  • Worksheet.Range[] プロパティを使用して、ソースと宛先のセル範囲を取得します。
  • CellRange.Copy(CellRange destRange, CopyRangeOptions copyOptions) メソッドを使用して、ソースワークシートのセル範囲とその書式を宛先セル範囲にコピーします。
  • ソースセル範囲の行の高さと列の幅を宛先セル範囲にコピーします。
  • Workbook.SaveToFile() メソッドを使用してブックをファイルに保存します。
  • C#
using Spire.Xls;

namespace CopyCells
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();
            // Excelファイルを読み込みます
            workbook.LoadFromFile("Sample.xlsx");

            // ソースワークシートを取得します
            Worksheet sheet1 = workbook.Worksheets[0];
            // 宛先ワークシートを取得します
            Worksheet sheet2 = workbook.Worksheets.Add("Sheet2");

            // ソースセル範囲を取得します
            CellRange range1 = sheet1.Range["A1:D6"];
            // 宛先セル範囲を取得します
            CellRange range2 = sheet2.Range["A1:D6"];

            // ソースワークシートのセル範囲を宛先ワークシートのセル範囲にコピーします
            range1.Copy(range2, CopyRangeOptions.All);

            // ソースセル範囲の行高さと列幅を宛先セル範囲にコピーします
            for (int i = 0; i < range1.Rows.Length; i++)
            {
                CellRange row = range1.Rows[i];
                for (int j = 0; j < row.Columns.Length; j++)
                {
                    CellRange column = row.Columns[j];
                    range2.Rows[i].Columns[j].ColumnWidth = column.ColumnWidth;
                    range2.Rows[i].RowHeight = row.RowHeight;
                }
            }

            // ワークブックをファイルに保存します
            workbook.SaveToFile("output/セルのコピー.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#を使った書式付きセルのコピー

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

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

ピボットテーブルにフィルターを追加することで、ユーザーは特定の基準に基づいて表示するデータを絞り込むことができます。フィルターを使用することで、分析に最も関連性のあるデータのサブセットに焦点を当て、効率的なデータ探索が可能になります。本記事では、Spire.XLS for .NET を使用して、C# で Excel のピボットテーブルにフィルターを追加する方法を示します。

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

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

PM> Install-Package Spire.XLS

Excel でピボットテーブルにレポートフィルターを追加

Spire.XLS for .NET では、XlsPivotTable.ReportFilters.Add() メソッドを使用して、ピボットテーブルにレポートフィルターを追加できます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。
  • PivotReportFilter クラスを使用してレポートフィルターを作成します。
  • XlsPivotTable.ReportFilters.Add() メソッドを使用して、ピボットテーブルにレポートフィルターを追加します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Core.Spreadsheet.PivotTables;

namespace AddReportFilter
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookクラスのオブジェクトを作成
            Workbook workbook = new Workbook();
            // Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

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

            // 最初のピボットテーブルを取得
            XlsPivotTable pt = sheet.PivotTables[0] as XlsPivotTable;

            // レポートフィルターを作成
            PivotReportFilter reportFilter = new PivotReportFilter("日付", true);

            // レポートフィルターをピボットテーブルに追加
            pt.ReportFilters.Add(reportFilter);

            // 結果のファイルを保存
            workbook.SaveToFile("レポートフィルター.xlsx", FileFormat.Version2016);
            workbook.Dispose();
        }
    }
}

Add Report Filter to Excel Pivot Table with C#

ピボットテーブルの行フィールドにフィルターを追加

XlsPivotTable.RowFields[index].AddValueFilter() または XlsPivotTable.RowFields[index].AddLabelFilter() メソッドを使用して、ピボットテーブルの特定の行フィールドに値フィルターまたはラベルフィルターを追加できます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。
  • XlsPivotTable.RowFields[index].AddValueFilter() または XlsPivotTable.RowFields[index].AddLabelFilter() メソッドを使用して、行フィールドにフィルターを追加します。
  • XlsPivotTable.CalculateData() メソッドを使用して、ピボットテーブルのデータを計算します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Core.Spreadsheet.PivotTables;

namespace AddRowFilter
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookクラスのオブジェクトを作成
            Workbook workbook = new Workbook();
            // Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

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

            // 最初のピボットテーブルを取得
            XlsPivotTable pt = sheet.PivotTables[0] as XlsPivotTable;

            // ピボットテーブルの最初の行フィールドに値フィルターを追加
            pt.RowFields[0].AddValueFilter(PivotValueFilterType.GreaterThan, pt.DataFields[0], 100000, null);

            // または、ピボットテーブルの最初の行フィールドにラベルフィルターを追加
            // pt.RowFields[0].AddLabelFilter(PivotLabelFilterType.Equal, "電子機器", null);

            // ピボットテーブルのデータを計算
            pt.CalculateData();

            // 結果のファイルを保存
            workbook.SaveToFile("行フィルター.xlsx", FileFormat.Version2016);
            workbook.Dispose();
        }
    }
}

.NET to Add Row Filter to Excel Pivot Table

ピボットテーブルの列フィールドにフィルターを追加

XlsPivotTable.ColumnFields[index].AddValueFilter() または XlsPivotTable.ColumnFields[index].AddLabelFilter() メソッドを使用して、ピボットテーブルの特定の列フィールドに値フィルターまたはラベルフィルターを追加できます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。
  • XlsPivotTable.ColumnFields[index].AddValueFilter() または XlsPivotTable.ColumnFields[index].AddLabelFilter() メソッドを使用して、列フィールドにフィルターを追加します。
  • XlsPivotTable.CalculateData() メソッドを使用して、ピボットテーブルのデータを計算します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Core.Spreadsheet.PivotTables;

namespace AddColumnFilter
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookクラスのオブジェクトを作成
            Workbook workbook = new Workbook();
            // Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

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

            // 最初のピボットテーブルを取得
            XlsPivotTable pt = sheet.PivotTables[0] as XlsPivotTable;

            // ピボットテーブルの最初の列フィールドにラベルフィルターを追加
            pt.ColumnFields[0].AddLabelFilter(PivotLabelFilterType.Equal, "北", null);

            // または、ピボットテーブルの最初の列フィールドに値フィルターを追加
            // pt.ColumnFields[0].AddValueFilter(PivotValueFilterType.Between, pt.DataFields[0], 5000, 10000);

            // ピボットテーブルのデータを計算
            pt.CalculateData();

            // 結果のファイルを保存
            workbook.SaveToFile("列フィルター.xlsx", FileFormat.Version2016);
            workbook.Dispose();
        }
    }
}

Add Column Filter to Excel Pivot Table with Spire.XLS

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

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

ピボットグラフは、ピボットテーブルを視覚的に表現したグラフです。ピボットテーブルはデータを要約し、分析のために操作することができますが、ピボットグラフはその要約データを視覚的に表現します。ピボットテーブルのデータが変更されると、ピボットグラフも簡単に更新できるため、レポート作成やデータ分析において欠かせないツールです。本記事では、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 を使用すると、既存のピボットテーブルからピボットグラフを簡単に作成できます。Worksheet.Charts.Add(ExcelChartType pivotChartType, IPivotTable pivotTable) メソッドを使った手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。
  • Worksheet.Charts.Add(ExcelChartType pivotChartType, IPivotTable pivotTable) メソッドを使用して、ピボットテーブルを基にしたピボットグラフをワークシートに追加します。
  • ピボットグラフの位置とタイトルを設定します。
  • Workbook.SaveToFile() メソッドを使用してブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Core;

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

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

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

            // ワークシート内の最初のピボットテーブルを取得
            IPivotTable pivotTable = sheet.PivotTables[0];

            // ピボットテーブルに基づいて集合縦棒グラフを作成
            Chart pivotChart = sheet.Charts.Add(ExcelChartType.ColumnClustered, pivotTable);

            // グラフの位置を設定
            pivotChart.TopRow = 3;
            pivotChart.LeftColumn = 7;
            pivotChart.RightColumn = 15;
            pivotChart.BottomRow = 20;

            // グラフのタイトルを空に設定
            pivotChart.ChartTitle = "";

            // 結果のファイルを保存
            workbook.SaveToFile("Excelでピボットグラフを作成.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}

Create Excel Pivot Chart with C# Result

ピボットグラフのフィールドボタンを表示・非表示にする

Spire.XLS for .NET を使用すれば、ピボットグラフの外観をカスタマイズするために、さまざまな種類のフィールドボタンを簡単に表示または非表示にできます。制御できるフィールドボタンは以下の通りです。

  • すべてのフィールドボタン
  • レポートフィルターフィールドボタン
  • 凡例フィールドボタン
  • 軸フィールドボタン
  • 値フィールドボタン

手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。
  • Worksheet.Charts.Add(ExcelChartType pivotChartType, IPivotTable pivotTable) メソッドを使用して、ピボットテーブルを基にしたピボットグラフをワークシートに追加します。
  • ピボットグラフの位置とタイトルを設定します。
  • Chart.DisplayAxisFieldButtons および Chart.DisplayValueFieldButtons プロパティを使用して、軸フィールドボタンや値フィールドボタンなど特定のフィールドボタンを非表示にします。
  • Workbook.SaveToFile() メソッドを使用してブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Core;

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

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

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

            // ワークシート内の最初のピボットテーブルを取得
            IPivotTable pivotTable = sheet.PivotTables[0];

            // ピボットテーブルに基づいて集合縦棒グラフを作成
            Chart pivotChart = sheet.Charts.Add(ExcelChartType.ColumnClustered, pivotTable);

            // グラフの位置を設定
            pivotChart.TopRow = 3;
            pivotChart.LeftColumn = 7;
            pivotChart.RightColumn = 15;
            pivotChart.BottomRow = 20;

            // グラフのタイトルを空に設定
            pivotChart.ChartTitle = "";

            // 特定のフィールドボタンを非表示に設定
            pivotChart.DisplayAxisFieldButtons = false; // 軸フィールドボタンを非表示
            pivotChart.DisplayValueFieldButtons = false; // 値フィールドボタンを非表示
            pivotChart.DisplayLegendFieldButtons = false; // 凡例フィールドボタンを非表示
            // pivotChart.ShowReportFilterFieldButtons = false; // レポートフィルターフィールドボタンを非表示
            // pivotChart.DisplayEntireFieldButtons = false; // すべてのフィールドボタンを非表示

            // 結果のファイルを保存
            workbook.SaveToFile("Excelのフィールドボタンを隠す.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}

Hide Excel Pivot Chart Field Buttons with Spire.XLS

C# でピボットグラフの系列をフォーマットする

Spire.XLS for .NET を使用してピボットテーブルから Excel でピボットグラフを作成する際、グラフの系列は自動生成されません。そのため、系列を手動で追加し、希望する形式にフォーマットする必要があります。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。
  • Worksheet.Charts.Add(ExcelChartType pivotChartType, IPivotTable pivotTable) メソッドを使用して、ピボットテーブルを基にしたピボットグラフをワークシートに追加します。
  • ピボットグラフの位置とタイトルを設定します。
  • Chart.Series.Add() メソッドを使用して系列をグラフに追加し、その系列に希望のフォーマットを適用します。
  • Workbook.SaveToFile() メソッドを使用してブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Charts;
using Spire.Xls.Core;

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

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

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

            // ワークシート内の最初のピボットテーブルを取得
            IPivotTable pivotTable = sheet.PivotTables[0];

            // ピボットテーブルに基づいて集合縦棒グラフを作成
            Chart pivotChart = sheet.Charts.Add(ExcelChartType.ColumnClustered, pivotTable);

            // グラフの位置を設定
            pivotChart.TopRow = 3;
            pivotChart.LeftColumn = 7;
            pivotChart.RightColumn = 15;
            pivotChart.BottomRow = 20;

            // グラフのタイトルを空に設定
            pivotChart.ChartTitle = "";

            // グラフ系列を追加
            ChartSerie series = pivotChart.Series.Add(ExcelChartType.ColumnClustered);

            // 棒の幅を設定
            series.GetCommonSerieFormat().GapWidth = 10;

            // 棒の重なりを設定(以下の行を有効化することで設定可能)
            // series.GetCommonSerieFormat().Overlap = 100;

            // 結果のファイルを保存
            workbook.SaveToFile("Excelのグラフシリーズの書式設定.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}

Format Excel Pivot Chart with .NET Result

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

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