チュートリアル

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

Koohji

Koohji

MS Word では、重複するコンテンツや主題に関係のない情報を含む段落を削除することが非常に重要です。そうすることで、ドキュメントを簡素化し、情報の正確性を確保できます。この記事では、Spire.Doc for 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>11.3.11</version>
    </dependency>
</dependencies>

Word 文書ですべての段落を削除する

すべての段落を削除するには、文書内すべてのセクションをループします。そして、Section.getParagraphs().clear() メソッドを使用して各セクションのすべての段落を削除できます。詳細な手順は次のとおりです。

  • Document インスタンスを作成します。
  • Document.loadFromFile() メソッドを使用して Word 文書をロードします。
  • 文書の各セクションをループし、Section.getParagraphs().clear() メソッドを使用してセクション内のすべての段落を削除します。
  • Document.saveToFile() メソッドを使用して結果文書を保存します。
  • Java
import com.spire.doc.*;

public class removeAllParagraphs {
    public static void main(String[] args) {
        //Documentインスタンスを作成する
        Document document = new Document();

        //ディスクからWord 文書をロードする
        document.loadFromFile("sample.docx");

        //各セクション内のすべての段落を削除する
        for ( Object sectionObj: document.getSections()) {
            Section section = (Section)sectionObj;
            section.getParagraphs().clear();
        }

        //結果文書を保存する
        document.saveToFile("removeAllParagraphs.docx", FileFormat.Docx_2013);
    }
}

Java:Word 文書で段落を削除する

Word 文書で特定の段落を削除する

重複した情報や役に立たない情報を含む段落を見つけた場合、Spire.Doc for Java では、Section.getParagraphs().removeAt() メソッドを使用して指定された段落を削除できます。詳細な手順は次のとおりです。

  • Document インスタンスを作成します。
  • Document.loadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.getSection().get() メソッドを使用して、文書の指定されたセクションを取得します。
  • Section.getParagraphs().removeAt() メソッドを使用して、セクション内の指定された段落を削除します。
  • Document.saveToFile() メソッドを使用して結果文書を保存します。
  • Java
import com.spire.doc.*;

public class removeSpecificParagraph {
    public static void main(String[] args) {
        //Documentインスタンスを作成する
        Document document = new Document();

        //ディスクからWord 文書をロードする
        document.loadFromFile("sample.docx");

        //最初のセクションを取得する
        Section section = document.getSections().get(0);

        //セクションの3番目の段落を削除する
        section.getParagraphs().removeAt(2);

        //結果文書を保存する
        document.saveToFile("removeSpecificParagraph.docx", FileFormat.Docx_2013);
    }
}

Java:Word 文書で段落を削除する

Word 文書で空白の段落を削除する

文書に空の段落/行が多数ある場合は、読みやすくするためにそれらを削除すできます。以下は、Word 文書内のすべての空白の段落/行を削除する手順です。

  • Document インスタンスを作成します。
  • Document.loadFromFile() メソッドを使用して Word 文書をロードします。
  • 文書内のすべての段落をループし、その段落が空白の段落であるかどうかを判断します。
  • Section.getBody().getChildObjects().remove() メソッドを使用して、文書から空白の段落を削除します。
  • Document.saveToFile() メソッドを使用して結果文書を保存します。
  • Java
import com.spire.doc.*;
import com.spire.doc.documents.*;

public class removeEmptyLines {
    public static void main(String[] args) {
        //Documentインスタンスを作成する
        Document document = new Document();

        //ディスクからWord 文書をロードする
        document.loadFromFile("sample.docx");

        //文書の各段落をループする
        for (Object sectionObj : document.getSections()) {
            Section section=(Section)sectionObj;
            for (int i = 0; i < section.getBody().getChildObjects().getCount(); i++) {
                if ((section.getBody().getChildObjects().get(i).getDocumentObjectType().equals(DocumentObjectType.Paragraph) )) {
                    String s= ((Paragraph)(section.getBody().getChildObjects().get(i))).getText().trim();

                    //段落が空白段落かどうかを判断する
                    if (s.isEmpty()) {

                        //空白段落を削除する
                        section.getBody().getChildObjects().remove(section.getBody().getChildObjects().get(i));
                        i--;
                    }
                }
            }
        }

        //結果文書を保存する
        document.saveToFile("removeEmptyLines.docx", FileFormat.Docx_2013);
    }
}

Java:Word 文書で段落を削除する

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

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

月, 24 4月 2023 02:57

割引コードの使い方

PayPal の割引コード

お支払い方法として「PayPal」を選択し、割引コードを指定された場所に入力してください。「Submit」をクリックします。

割引コードの使い方

2Checkout の割引コード

お支払い方法として「2Checkout」を選択し、割引コードを指定された場所に入力してください。「Next」をクリックします。

割引コードの使い方

その他のご質問は、このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。までお気軽にお問い合わせください。

Spire.Office for Java 8.4.5のリリースを発表できることをうれしく思います。このリリースでは、Spire.Doc for Java はDocx2016およびDocx2019ファイルフォーマットをサポートしています。Spire.Presentation for Javaはカスタムレイアウトを使用した新しいスライドの追加をサポートしています。Spire.PDF for Javaは画像を圧縮する際にメモリの消費量が最適化されました。Spire.XLS for JavaはExcelからHTMLとPDFへの変換機能が強化されました。さらに、多くの既知のバグが正常に修正されました。詳細は以下の内容を読んでください。

ここで Spire.Office for Java 8.4.5をダウンロードする:

このリリースで行われた変更のリストは次のとおりです

Spire.Doc for Java

カテゴリー ID 説明
New feature SPIREDOC-6422 Docx2016およびDocx2019ファイルフォーマットをサポートしています。
Spire.Doc.FileFormat.Docx2016
Spire.Doc.FileFormat.Docx2019
New feature SPIREDOC-6913 目次のページ番号のみを更新する機能をサポートしています。
document.updateTOCPageNumbers();
document.updateTOCPageNumbers(TableOfContent toc);
New feature SPIREDOC-9216 コメントの返信項目を取得する機能をサポートしています。
Document doc = new Document();
        doc.loadFromFile(inputFile);
        Comment comment = doc.getComments().get(0);
        CommentsCollection comCollect = comment.getReplyCommentItems();
        String author = comCollect.get(0).getFormat().getAuthor();
        Date dateTime = comCollect.get(0).getFormat().getDateTime();
        String replayContent = "";
        IDocumentObjectCollection objCollect = comCollect.get(0).getBody().getChildObjects();
        for (int i = 0; i < objCollect.getCount(); i++) {
            DocumentObject obj = objCollect.get(i);
            if (obj.getDocumentObjectType() == DocumentObjectType.Paragraph) {
                replayContent = ((Paragraph) obj).getText();
            }
        }
Bug SPIREDOC-8680 修正を受けたページが縦向きから横向きに変わる問題が修正されました。
Bug SPIREDOC-8786
SPIREDOC-9159
WordをPDFに変換した後にレイアウトが正しくない問題が修正されました。
Bug SPIREDOC-8789 WordをPDFに変換した後にフォーマットが正しくない問題が修正されました。
Bug SPIREDOC-9019 目次ページ番号の更新が正しくない問題が修正されました。
Bug SPIREDOC-9097 RTFドキュメントをロードする際にアプリケーションが「java.lang.NullPointerException」をスローした問題が修正されました。
Bug SPIREDOC-9099
SPIREDOC-9123
SPIREDOC-9124
SPIREDOC-9177
WordをPDFに変換した後にテキストの改行が正しくない問題が修正されました。
Bug SPIREDOC-9130 WordをPDFに変換する際にアプリケーションが「java.lang.NullPointerException」をスローした問題が修正されました。
Bug SPIREDOC-9151 ドキュメントのマージ後に数式を編集できない問題が修正されました。
Bug SPIREDOC-9153 ドキュメントをロードして保存した後、フォーマットが正しくない問題が修正されました。
Bug SPIREDOC-9181 WordをHTMLに変換した後に文字間隔のスケーリングスタイルが失われていた問題が修正されました。
Bug SPIREDOC-9196 ドキュメントをロードする際にアプリケーションが「Cannot find stream '1Table' in the storage」をスローした問題が修正されました。
Bug SPIREDOC-9227 2つのWordドキュメントを比較した後、PDFに変換すると、アプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。
Bug SPIREDOC-9251 WordをOFDに変換した後改行が正しくない問題が修正されました。
Bug SPIREDOC-9260 DOCドキュメントをロードする際にアプリケーションが「java.lang.NullPointerException」をスローした問題が修正されました。
Bug SPIREDOC-9280 2つのWordドキュメントを比較する際にアプリケーションが「java.lang.IllegalArgumentException」をスローした問題が修正されました。

Spire.Presentation for Java

カテゴリー ID 説明
New feature SPIREPPT-2213 テキスト幅による表の列幅の調整がサポートされています。
Presentation ppt = new Presentation();
ppt.loadFromFile(inputFile);
ITable table = (ITable) ppt.getSlides().get(0).getShapes().get(0);
table.getColumnsList().get(2).adjustColumnByTextWidth();
ppt.saveToFile(outputFile, FileFormat.AUTO);
New feature SPIREPPT-2220 形状のラウンド半径の設定がサポートされています。
IAutoShape autoShape=iSlide.getShapes().appendShape(ShapeType.ROUND_CORNER_RECTANGLE,new Rectangle2D.Float(50,50,150,150));
IAutoShape autoShape1=iSlide.getShapes().appendShape(ShapeType.ONE_ROUND_CORNER_RECTANGLE,new Rectangle2D.Float(250,50,150,150));
IAutoShape autoShape2=iSlide.getShapes().appendShape(ShapeType.ONE_SNIP_ONE_ROUND_CORNER_RECTANGLE,new Rectangle2D.Float(450,50,150,150));
IAutoShape autoShape3=iSlide.getShapes().appendShape(ShapeType.TWO_DIAGONAL_ROUND_CORNER_RECTANGLE,new Rectangle2D.Float(50,250,150,150));
IAutoShape autoShape4=iSlide.getShapes().appendShape(ShapeType.TWO_SAMESIDE_ROUND_CORNER_RECTANGLE,new Rectangle2D.Float(250,250,150,150));
autoShape.setRoundRadius(autoShape.getWidth()/3);
autoShape1.setRoundRadius(autoShape1.getWidth()/3);
autoShape2.setRoundRadius(autoShape2.getWidth()/3);
autoShape3.setRoundRadius(autoShape3.getWidth()/3);
autoShape4.setRoundRadius(autoShape4.getWidth()/3);
New feature SPIREPPT-2228 カスタムレイアウトを使用した新しいスライドの追加がサポートされています。
Presentation presentation = new Presentation();
presentation.loadFromFile(intputFile);
//カスタムレイアウトを取得する
ILayout iLayout = presentation.getMasters().get(0).getLayouts().get(1);
//新しいスライドを追加する
presentation.getSlides().append(iLayout);
//新しいスライドを挿入する
presentation.getSlides().insert(0, iLayout);
presentation.saveToFile(outputFile, FileFormat.PPTX_2016);
presentation.dispose();
New feature SPIREPPT-2231 SmartArtを追加する際に、SmartArtLayoutType.PICTURE_ORGANIZATION_CHART and SmartArtLayoutType.NAME_AND_TITLE_ORGANIZATION_CHARTの設定がサポートされています。
ppt.getSlides().get(0).getShapes().appendSmartArt(50, 50, 250, 250, SmartArtLayoutType.PICTURE_ORGANIZATION_CHART);
ppt.getSlides().append().getShapes().appendSmartArt(50, 50, 250, 250, SmartArtLayoutType.NAME_AND_TITLE_ORGANIZATION_CHART);
Bug SPIREPPT-2071 SeriesLinesColorを設定した後、ドキュメントを開いたときにエラーメッセージが表示された問題が修正されました。
Bug SPIREPPT-2209 HtmlをPPTに変換した際にファイルが出力されなかった問題が修正されました。
Bug SPIREPPT-2216 PPTを画像に変換する際に、アプリケーションが「OutOfMemoryError」をスローする問題が修正されました。
Bug SPIREPPT-2226 PPTをSVGに変換する際に、プログラムが長時間ハングアップしていた問題が修正されました。

Spire.PDF for Java

カテゴリー ID 説明
Bug SPIREPDF-5221 画像を圧縮する際にメモリ消費量を最適化しました。
Bug SPIREPDF-5727 透かしを追加すると文書のサイズが大幅に増大する問題が修正されました。
Bug SPIREPDF-5828 変換されたPDF/A 1 AドキュメントがveraPDFで検証に失敗する問題が修正されました。
Bug SPIREPDF-5842 PDFをHtmlに変換する際にプログラムが「NullPointerException」をスローする問題が修正されました。
Bug SPIREPDF-5861 PDFをSVGに変換する際に文字が重なる問題が修正されました。
Bug SPIREPDF-5880 PDF編集権限の削除が無効だった問題が修正されました。

Spire.XLS for Java

カテゴリー ID 説明
Bug SPIREXLS-4512 画像を挿入した後に画像の高さが変化する問題が修正されました。
Bug SPIREXLS-4562 1行のデータ範囲を指定する際にフィルタが機能しない問題が修正されました。
Bug SPIREXLS-4563 ExcelをHTMLに変換する際にアプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。
Bug SPIREXLS-4574 ExcelをPDFに変換する際にアプリケーションが「Invalid formula」をスローする問題が修正されました。
Bug SPIREXLS-4576 ExcelをPDFに変換する際にアプリケーションが「String index out of range」をスローする問題が修正されました。
Bug SPIREXLS-4577 ExcelをPDFに変換する際にアプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。

Word ドキュメントのブックマークは、ページを移動することなく、ドキュメント内の特定の場所に移動することができます。これは、ドキュメントのセクション間の内部リンクと同じように機能します。ブックマークは、特に長い文書のナビゲーションに便利です。この記事では、Spire.Doc for C++ を使用して、C++ で Word ドキュメントにブックマークを追加または削除する方法を説明します。

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

Spire.Doc for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。

Spire.Doc for C++ を C++ アプリケーションに統合する方法

段落にブックマークを追加する

ブックマークは通常、段落全体に基づいて作成され、特に段落自体が見出しになっている場合は、そのようになります。以下は、Spire.Doc for C++ を使用して、段落にブックマークを追加する手順です。

  • Document のオブジェクトを作成します。
  • Document->LoadFromFile() メソッドを使用して、Word ファイルを読み込みます。
  • Document->GetSections()->GetItem() メソッドを使用して、特定のセクションを取得します。
  • Section->GetParagraphs()->GetItem() メソッドを使用して、セクションから特定の段落を取得します。
  • Paragraph->GetChildObjects()->Insert(int index, Spire::Doc::IDocumentObject *entity) メソッドを使用して、BookmarkStart のオブジェクトを作成し、その段落の先頭に挿入します。
  • Paragraph->AppendBookmarkEnd(LPCWSTR_S name) メソッドを使用して、段落の末尾に BookmarkEnd のオブジェクトを付加します。
  • Document->SaveToFile() メソッドを使用して、ドキュメントを保存します。
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;

int main() {

	//Documentのオブジェクトを作成する
	Document* document = new Document();

	//Wordファイルを読み込む
	document->LoadFromFile(L"C:/英語の問題.docx");

	//特定の段落を取得する
	Paragraph* paragraph = document->GetSections()->GetItem(0)->GetParagraphs()->GetItem(1);

	//ブックマークの開始を作成する
	BookmarkStart* start = new BookmarkStart(document, L"ブックマーク");
	

	//選択したテキストの前にブックマークの開始を挿入する
	paragraph->GetChildObjects()->Insert(0, start);

	//段落の末尾にブックマークの末尾を挿入する
	paragraph->AppendBookmarkEnd(L"ブックマーク");

	//ドキュメントを保存する
	document->SaveToFile(L"段落へのブックマーク追加.docx", FileFormat::Docx2013);
	document->Close();
	delete document;
}

C++:Word ドキュメントにブックマークを追加、削除する方法

選択したテキストにブックマークを追加する

また、ブックマークは、段落内の特定の位置に挿入することもできます。以下は、Spire.Doc for C++ を使用して、選択したテキストにブックマークを追加する手順です。

  • Document のオブジェクトを作成します。
  • Document->LoadFromFile() メソッドを使用して、Word ファイルを読み込みます。
  • Document->FindAllString() メソッドを使用して、ドキュメントから選択されたテキストを検索します。
  • TextSelection-> ->GetAsOneRange()->GetOwnerParagraph() メソッドを使用して、テキストの所有者段落を検索します。
  • Paragraph->GetChildObjects()->IndexOf() メソッドを使用して、その段落内のテキストのインデックスを取得します。
  • BookmarkStart のオブジェクトを作成し、Paragraph->GetChildObjects()->Insert(int index, Spire::Doc::IDocumentObject *entity) メソッドを使用して選択したテキストの前に挿入します。
  • BookmarkEnd のオブジェクトを作成し、Paragraph->GetChildObjects()->Insert(int index, Spire::Doc::IDocumentObject *entity) メソッドを使用して選択したテキストの後に挿入します。
  • Document->SaveToFile() メソッドを使用して、ドキュメントを保存します。
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;
using namespace std;

int main() {

    //Documentのオブジェクトを作成する
    Document* document = new Document();

    //Wordファイルを読み込む
    document->LoadFromFile(L"C:/英語の問題.docx");

    //検索するテキストを指定する
    wstring stringToFind = L"『タイムズ』紙";

    //ドキュメントからテキストを検索する
    vector<TextSelection*>  finds = document->FindAllString(stringToFind.c_str(), false, true);
    TextSelection* specificText = finds[0];

    //テキストがある段落を探す
    Paragraph* para = specificText->GetAsOneRange()->GetOwnerParagraph();

    //段落内のテキストのインデックスを取得する
    int index = para->GetChildObjects()->IndexOf(specificText->GetAsOneRange());

    //ブックマークの開始を作成する
    BookmarkStart* start = new BookmarkStart(document, L"ブックマーク");

    //選択したテキストの前にブックマークの開始を挿入する
    para->GetChildObjects()->Insert(index, start);

    //ブックマークの末尾を作成する
    BookmarkEnd* end = new BookmarkEnd(document, L"ブックマーク");

    //選択したテキストの後にブックマークの末尾を挿入する
    para->GetChildObjects()->Insert(index + 2, end);

    //ドキュメントを保存する
    document->SaveToFile(L"テキストへのブックマーク追加.docx", FileFormat::Docx2013);
    document->Close();
    delete document;
}

C++:Word ドキュメントにブックマークを追加、削除する方法

Word ドキュメントからブックマークを削除する

Spire.Doc for C++ を使用すると、Word ドキュメントからすべてのブックマークまたは特定のブックマークを簡単に取得および削除することができます。以下はその詳細な手順です。

  • Document のオブジェクトを作成します。
  • Document->LoadFromFile() メソッドを使用して、ブックマークを含む Word ファイルを読み込みます。
  • Document->GetBookmarks()->GetItem() メソッドを使用して、特定のブックマークを取得します。
  • Document->GetBookmarks()->Remove() メソッドを使用して、ブックマークを削除します。4すべてのブックマークを一度に削除するには、Document->GetBookmarks()->Clear() メソッドを使用します。
  • Document->SaveToFile() メソッドを使用して、ドキュメントを保存します。
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;

int main() {

	//Documentのオブジェクトを作成する
	Document* document = new Document();

	//Wordファイルを読み込む
	document->LoadFromFile(L"段落へのブックマーク追加.docx");

	//特定のブックマークをインデックスで取得する
	Bookmark* bookmark = document->GetBookmarks()->GetItem(0);

	//ブックマークを削除する
	document->GetBookmarks()->Remove(bookmark);

	//すべてのブックマークを削除する
	//document->GetBookmarks()->Clear();

	//ドキュメントを保存する
	document->SaveToFile(L"ブックマークの削除.docx", FileFormat::Docx2013);
	document->Close();
	delete document;
}

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

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

表は、データを整理して表示するための強力なツールです。データを行と列に並べることで、著者は異なるデータ区分間の関係を説明し、読者は複雑なデータを理解し分析することが容易になります。この記事では、Spire.Doc for C++ を使用して、プログラムで Word ドキュメントに表を作成する方法について説明します。

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

Spire.Doc for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。

Spire.Doc for C++ を C++ アプリケーションに統合する方法

Word ドキュメントに表を作成する

Spire.Doc for C++ では、Word ドキュメントのセクションに表を追加するための Section->AddTable() メソッドを用意しています。詳しい手順は以下の通りです。

  • Document のインスタンスを作成します。
  • Document->AddSection() メソッドを使用して、ドキュメントにセクションを追加します。
  • ヘッダー行と残りの行のデータを定義し、それぞれ1次元ベクトルと2次元ベクトルに格納します。
  • Section->AddTable() メソッドを使用して、セクションに表を追加します。
  • Table->ResetCells(int, int) メソッドを使用して、表の行数、列数を指定します。
  • ヘッダー行に1次元ベクトルのデータを追加し、書式を設定します。
  • 残りの行に2次元ベクトルのデータを追加し、書式を設定します。
  • Document->SaveToFile() メソッドを使用して、ドキュメントを保存します。
  • C++
#include "Spire.Doc.o.h"

using namespace Spire::Doc;
using namespace std;

int main()
{
	//Documentのインスタンスを作成する
	intrusive_ptr<Document> doc = new Document();

	//ドキュメントにセクションを追加する
	intrusive_ptr<Section> section = doc->AddSection();

	//セクションのページ余白を設定する
	section->GetPageSetup()->GetMargins()->SetAll(72);

	//ヘッダー行のデータを定義する
	vector<wstring> header = { L"国名", L"首都", L"大陸", L"面積", L"人口" };

	//残りの行のデータを定義する
	vector<vector<wstring>> data =
	{
		{L"Argentina", L"Buenos Aires", L"南アメリカ", L"2777815", L"32300003"},
		{L"Bolivia", L"La Paz", L"南アメリカ", L"1098575", L"7300000"},
		{L"Brazil", L"Brasilia", L"南アメリカ", L"8511196", L"150400000"},
		{L"Canada", L"Ottawa", L"北アメリカ", L"9976147", L"26500000"},
		{L"Chile", L"Santiago", L"南アメリカ", L"756943", L"13200000"},
		{L"Colombia", L"Bogota", L"南アメリカ", L"1138907", L"33000000"},
		{L"Cuba", L"Havana", L"北アメリカ", L"114524", L"10600000"},
		{L"Ecuador", L"Quito", L"南アメリカ", L"455502", L"10600000"},
		{L"El Salvador", L"San Salvador", L"北アメリカ", L"20865", L"5300000"},
		{L"Guyana", L"Georgetown", L"南アメリカ", L"214969", L"800000"},
		{L"Jamaica", L"Kingston", L"北アメリカ", L"11424", L"2500000"},
		{L"Mexico", L"Mexico City", L"北アメリカ", L"1967180", L"88600000"},
		{L"Nicaragua", L"Managua", L"北アメリカ", L"139000", L"3900000"},
		{L"Paraguay", L"Asuncion", L"南アメリカ", L"406576", L"4660000"},
		{L"Peru", L"Lima", L"南アメリカ", L"1285215", L"21600000"},
		{L"United States", L"Washington", L"北アメリカ", L"9363130", L"249200000"},
		{L"Uruguay", L"Montevideo", L"南アメリカ", L"176140", L"3002000"},
		{L"Venezuela", L"Caracas", L"南アメリカ", L"912047", L"19700000"}
	};

	//セクションに表を追加する
	intrusive_ptr<Table> table = section->AddTable(true);

	//表の行数、列数を指定する
	table->ResetCells(data.size() + 1, header.size());

	//最初の行をヘッダー行として設定する
	intrusive_ptr<TableRow> row = table->GetRows()->GetItemInRowCollection(0);
	row->SetIsHeader(true);

	//ヘッダー列の高さと背景色を設定する
	row->SetHeight(20);
	row->SetHeightType(TableRowHeightType::Exactly);
	row->GetRowFormat()->SetBackColor(Color::FromArgb(142, 170, 219));

	//ヘッダー行にデータを追加し、書式を設定する
	for (int i = 0; i < header.size(); i++)
	{
		//段落を追加する
		intrusive_ptr<Paragraph> p1 = row->GetCells()->GetItemInCellCollection(i)->AddParagraph();
		//配置を設定する
		p1->GetFormat()->SetHorizontalAlignment(HorizontalAlignment::Center);
		row->GetCells()->GetItemInCellCollection(i)->GetCellFormat()->SetVerticalAlignment(VerticalAlignment::Middle);
		//データを追加する
		intrusive_ptr<TextRange> tR1 = p1->AppendText(header[i].c_str());
		//データの書式を設定する
		tR1->GetCharacterFormat()->SetFontName(L"Yu Gothic UI");
		tR1->GetCharacterFormat()->SetFontSize(12);
		tR1->GetCharacterFormat()->SetBold(true);
	}

	//残りの行にデータを追加し、書式を設定する
	for (int r = 0; r < data.size(); r++)
	{
		//残りの行の高さを設定する
		intrusive_ptr<TableRow> dataRow = table->GetRows()->GetItemInRowCollection(r + 1);
		dataRow->SetHeight(20);
		dataRow->SetHeightType(TableRowHeightType::Exactly);

		for (int c = 0; c < data[r].size(); c++)
		{
			//段落を追加する
			intrusive_ptr<Paragraph> p2 = dataRow->GetCells()->GetItemInCellCollection(c)->AddParagraph();
			//配置を設定する
			dataRow->GetCells()->GetItemInCellCollection(c)->GetCellFormat()->SetVerticalAlignment(VerticalAlignment::Middle);
			//データを追加する
			intrusive_ptr<TextRange> tR2 = p2->AppendText(data[r][c].c_str());
			//データの書式を設定する
			tR2->GetCharacterFormat()->SetFontName(L"Yu Gothic UI");
			tR2->GetCharacterFormat()->SetFontSize(11);
		}
	}

	//ドキュメントを保存する
	doc->SaveToFile(L"表の作成.docx", FileFormat::Docx2013);
	doc->Close();
}

C++:Word ドキュメントに表を作成する方法

Word ドキュメントにネストされた表を作成する

Spire.Doc for C++ では、特定の表セルにネストした表を追加する TableCell->AddTable() メソッドを用意しています。詳しい手順は以下の通りです。

  • Document のインスタンスを作成します。
  • Document->AddSection() メソッドを使用して、ドキュメントにセクションを追加します。
  • Section.AddTable() メソッドを使用して、セクションに表を追加します。
  • Table->ResetCells(int, int) メソッドを使用して、表の行と列の数を指定します。
  • 表の行を取得し、各行のセルにデータを追加します。
  • TableCell->AddTable() メソッドを使用して、特定の表セルにネストした表を追加します。
  • ネストした表の行数、列数を指定します。
  • ネストされた表の行を取得し、各行のセルにデータを追加します。
  • Document->SaveToFile() メソッドを使用して、ドキュメントを保存します。
  • C++
#include "Spire.Doc.o.h"

using namespace Spire::Doc;
using namespace std;

int main()
{
	//Documentのインスタンスを作成する
	intrusive_ptr<Document> doc = new Document();

	//ドキュメントにセクションを追加する
	intrusive_ptr<Section> section = doc->AddSection();

	//セクションのページ余白を設定する
	section->GetPageSetup()->GetMargins()->SetAll(72);

	//セクションに表を追加する
	intrusive_ptr<Table> table = section->AddTable(true);

	//表の行数、列数を設定する
	table->ResetCells(2, 2);

	//表の幅をウィンドウに自動調整する
	table->AutoFit(AutoFitBehaviorType::AutoFitToWindow);

	//表の行を取得する
	intrusive_ptr<TableRow> row1 = table->GetRows()->GetItemInRowCollection(0);
	intrusive_ptr<TableRow> row2 = table->GetRows()->GetItemInRowCollection(1);

	//表のセルにデータを追加する
	intrusive_ptr<TableCell> cell1 = row1->GetCells()->GetItemInCellCollection(0);
	intrusive_ptr<TextRange> tR = cell1->AddParagraph()->AppendText(L"製品");
	tR->GetCharacterFormat()->SetFontSize(13);
	tR->GetCharacterFormat()->SetBold(true);
	intrusive_ptr<TableCell> cell2 = row1->GetCells()->GetItemInCellCollection(1);
	tR = cell2->AddParagraph()->AppendText(L"説明");
	tR->GetCharacterFormat()->SetFontSize(13);
	tR->GetCharacterFormat()->SetBold(true);
	intrusive_ptr<TableCell> cell3 = row2->GetCells()->GetItemInCellCollection(0);
	cell3->AddParagraph()->AppendText(L"Spire.Doc for C++");
	intrusive_ptr<TableCell> cell4 = row2->GetCells()->GetItemInCellCollection(1);
	cell4->AddParagraph()->AppendText(L"Spire.Doc for C++は、C++アプリケーションで"
		L"Word文書を高速かつ高品質に作成、読み取り、書き込み、変換するために"
		L"開発者向けに特別に設計されたプロフェッショナルなWordライブラリです。");

	//表の文字のフォントを設定する
	for (int m = 0; m < table->GetRows()->GetCount(); m++)
	{
		intrusive_ptr<TableRow> tableRow = table->GetRows()->GetItemInRowCollection(m);
		for (int n = 0; n < tableRow->GetCells()->GetCount(); n++)
		{
			intrusive_ptr<TableCell> nestedTableCell = tableRow->GetCells()->GetItemInCellCollection(n);
			nestedTableCell->GetFirstParagraph()->GetStyle()->GetCharacterFormat()->SetFontName(L"Yu Gothic UI");
		}
	}

	//4つ目のセルにネストした表を追加する
	intrusive_ptr<Table> nestedTable = cell4->AddTable(true);

	//ネストした表の行数、列数を設定する
	nestedTable->ResetCells(3, 2);

	//表の幅をコンテンツに自動調整する
	nestedTable->AutoFit(AutoFitBehaviorType::AutoFitToContents);

	//表の行を取得する
	intrusive_ptr<TableRow> nestedRow1 = nestedTable->GetRows()->GetItemInRowCollection(0);
	intrusive_ptr<TableRow> nestedRow2 = nestedTable->GetRows()->GetItemInRowCollection(1);
	intrusive_ptr<TableRow> nestedRow3 = nestedTable->GetRows()->GetItemInRowCollection(2);

	//ネストした表のセルにデータを追加する
	intrusive_ptr<TableCell> nestedCell1 = nestedRow1->GetCells()->GetItemInCellCollection(0);
	tR = nestedCell1->AddParagraph()->AppendText(L"項目");
	tR->GetCharacterFormat()->SetBold(true);
	intrusive_ptr<TableCell> nestedCell2 = nestedRow1->GetCells()->GetItemInCellCollection(1);
	tR = nestedCell2->AddParagraph()->AppendText(L"価格");
	tR->GetCharacterFormat()->SetBold(true);
	intrusive_ptr<TableCell> nestedCell3 = nestedRow2->GetCells()->GetItemInCellCollection(0);
	nestedCell3->AddParagraph()->AppendText(L"Developer Subscription");
	intrusive_ptr<TableCell> nestedCell4 = nestedRow2->GetCells()->GetItemInCellCollection(1);
	nestedCell4->AddParagraph()->AppendText(L"$999");
	intrusive_ptr<TableCell> nestedCell5 = nestedRow3->GetCells()->GetItemInCellCollection(0);
	nestedCell5->AddParagraph()->AppendText(L"Developer OEM Subscription");
	intrusive_ptr<TableCell> nestedCell6 = nestedRow3->GetCells()->GetItemInCellCollection(1);
	nestedCell6->AddParagraph()->AppendText(L"$2999");

	//ドキュメントを保存する
	doc->SaveToFile(L"ネストされた表の作成.docx", FileFormat::Docx2013);
	doc->Close();
}

C++:Word ドキュメントに表を作成する方法

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

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

Spire.Presentation for Java 8.4.2のリリースを発表できることをうれしく思います。このバージョンでは、SmartArtから取得したノードの座標値が正しくない問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREPPT-2236 SmartArtから取得したノードの座標値が正しくない問題が修正されました
ここで Spire.Presentation for Java 8.4.2をダウンロードする

PDF は人気があり広く使われているファイル形式ですが、会議や授業などの場面で他者にプレゼンテーションを行う際には、PowerPoint の方が人気が高いことがよくあります。というのは、PowerPoint にはより豊富なプレゼンテーション効果が含まれており、聴衆の注意を引きつけることができるためです。この記事では、Spire.PDF for Java を使用して PDF を PowerPoint プレゼンテーションに変換する方法を紹介します。

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

まず、Spire.PDF 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.pdf</artifactId>
        <version>9.3.11</version>
    </dependency>
</dependencies>

PDF を PowerPoint プレゼンテーションに変換する

Spire.PDF for Java 9.2.1 から、PdfDocument.saveToFile() メソッドを使用して PDF を PPTX に変換することができます。このメソッドを使用すると、PDF の各ページが PowerPoint の単一のスライドに変換することができます。詳細な手順は次のとおりです。

  • PdfDocument インスタンスを作成します。
  • PdfDocument.loadFromFile() メソッドを使用してサンプル PDF ドキュメントをロードします。
  • PdfDocument.saveToFile(String filename, FileFormat.PPTX) メソッドを使用して、ドキュメントを PowerPoint として保存します。
  • Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;

public class PDFtoPowerPoint {
    public static void main(String[] args) {

        //PdfDocument インスタンスを作成する
        PdfDocument pdfDocument = new PdfDocument();

        //サンプル PDF ドキュメントをロードする
        pdfDocument.loadFromFile("sample.pdf");

        //PDF を PPTX に変換する
        pdfDocument.saveToFile("PDFtoPowerPoint.pptx", FileFormat.PPTX);
    }
}

Java:PDF を PowerPoint プレゼンテーションに変換する方法

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

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

Spire.Doc for Java 11.4.2のリリースを発表できることを嬉しく思います。このバージョンは、Docx2016およびDocx2019ファイルフォーマットをサポートしています。さらに、目次のページ番号のみを更新する機能や、コメントの返信項目を取得する機能もサポートしています。また、WordからPDF、HTML、およびOFDへの変換機能も強化されました。修正を受けたページが縦向きから横向きに変わる問題など、既知の多くの問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREDOC-6422 Docx2016およびDocx2019ファイルフォーマットをサポートしています。
Spire.Doc.FileFormat.Docx2016
Spire.Doc.FileFormat.Docx2019
New feature SPIREDOC-6913 目次のページ番号のみを更新する機能をサポートしています。
document.updateTOCPageNumbers();
document.updateTOCPageNumbers(TableOfContent toc);
New feature SPIREDOC-9216 コメントの返信項目を取得する機能をサポートしています。
Document doc = new Document();
        doc.loadFromFile(inputFile);
        Comment comment = doc.getComments().get(0);
        CommentsCollection comCollect = comment.getReplyCommentItems();
        String author = comCollect.get(0).getFormat().getAuthor();
        Date dateTime = comCollect.get(0).getFormat().getDateTime();
        String replayContent = "";
        IDocumentObjectCollection objCollect = comCollect.get(0).getBody().getChildObjects();
        for (int i = 0; i < objCollect.getCount(); i++) {
            DocumentObject obj = objCollect.get(i);
            if (obj.getDocumentObjectType() == DocumentObjectType.Paragraph) {
                replayContent = ((Paragraph) obj).getText();
            }
        }
Bug SPIREDOC-8680 修正を受けたページが縦向きから横向きに変わる問題が修正されました。
Bug SPIREDOC-8786
SPIREDOC-9159
WordをPDFに変換した後にレイアウトが正しくない問題が修正されました。
Bug SPIREDOC-8789 WordをPDFに変換した後にフォーマットが正しくない問題が修正されました。
Bug SPIREDOC-9019 目次ページ番号の更新が正しくない問題が修正されました。
Bug SPIREDOC-9097 RTFドキュメントをロードする際にアプリケーションが「java.lang.NullPointerException」をスローした問題が修正されました。
Bug SPIREDOC-9099
SPIREDOC-9123
SPIREDOC-9124
SPIREDOC-9177
WordをPDFに変換した後にテキストの改行が正しくない問題が修正されました。
Bug SPIREDOC-9130 WordをPDFに変換する際にアプリケーションが「java.lang.NullPointerException」をスローした問題が修正されました。
Bug SPIREDOC-9151 ドキュメントのマージ後に数式を編集できない問題が修正されました。
Bug SPIREDOC-9153 ドキュメントをロードして保存した後、フォーマットが正しくない問題が修正されました。
Bug SPIREDOC-9181 WordをHTMLに変換した後に文字間隔のスケーリングスタイルが失われていた問題が修正されました。
Bug SPIREDOC-9196 ドキュメントをロードする際にアプリケーションが「Cannot find stream '1Table' in the storage」をスローした問題が修正されました。
Bug SPIREDOC-9227 2つのWordドキュメントを比較した後、PDFに変換すると、アプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。
Bug SPIREDOC-9251 WordをOFDに変換した後改行が正しくない問題が修正されました。
Bug SPIREDOC-9260 DOCドキュメントをロードする際にアプリケーションが「java.lang.NullPointerException」をスローした問題が修正されました。
Bug SPIREDOC-9280 2つのWordドキュメントを比較する際にアプリケーションが「java.lang.IllegalArgumentException」をスローした問題が修正されました。
ここで Spire.Doc for Java 11.4.2をダウンロードする

Word 文書を編集する際には、特定の段落を削除する理由がたくさんあります。例えば、ドキュメントを再構成するために単純に削除する場合や、誤った情報や関連のない情報を削除して文書の正確性を確保する場合などが考えられます。この記事では、Spire.Doc for C++ を使用して C++ で Word 文書で段落を削除する方法について説明します。

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

Spire.Doc for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。

Spire.Doc for C++ を C++ アプリケーションに統合する方法

Word 文書ですべての段落を削除する

すべての段落を削除するには、文書内のすべてのセクションをループします。そして、Section->GetParagraphs()->Clear()メソッドを使用して各セクションのすべての段落を削除できます。詳細な手順は次のとおりです。

  • Document インスタンスを作成します。
  • Document->LoadFromFile() メソッドを使用して Word 文書をロードします。
  • 文書の各セクションをループし、Section->GetParagraphs()->Clear() メソッドを使用してセクション内のすべての段落を削除します。
  • Document->SaveToFile() メソッドを使用して結果文書を保存します。
  • C++
#include "Spire.Doc.o.h"

using namespace Spire::Doc;

int main() {
	//入出力ファイルパスを指定する
	std::wstring inputFile = L"Data\\sample.docx";
	std::wstring outputFile = L"Output\\RemoveAllParagraphs.docx";

	//Documentインスタンスを作成する
	Document* document = new Document();

	//Word文書をディスクからロードする
	document->LoadFromFile(inputFile.c_str());

	//文書の各セクションの段落を削除する
	for (int i = 0; i < document->GetSections()->GetCount(); i++)
	{
		Section* section = document->GetSections()->GetItem(i);
		section->GetParagraphs()->Clear();
	}

	//結果文書を保存する
	document->SaveToFile(outputFile.c_str(), FileFormat::Docx2013);
	document->Close();
	delete document;
}

C++:Word 文書で段落を削除する方法

Word 文書で特定の段落を削除する

重複または役に立たない情報が含まれている段落を見つけた場合、Spire.Doc for C++ では、Section->GetParagraphs()->RemoveAt() メソッドを使用して、指定された段落を削除することができます。以下は詳細な手順です。

  • Document インスタンスを作成します。
  • Document->LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document->GetSections()->GetItem() メソッドを使用して、文書の指定されたセクションを取得します。
  • Section->GetParagraphs()->RemoveAt() メソッドを使用して、セクション内の指定された段落を削除します。
  • Document->SaveToFile() メソッドを使用して結果文書を保存します。
  • C++
#include "Spire.Doc.o.h"

using namespace Spire::Doc;

int main() {
	//入出力ファイルパスを指定する
	std::wstring inputFile = L"Data\\sample.docx";
	std::wstring outputFile = L"Output\\RemoveSpecificParagraph.docx";

	//Documentインスタンスを作成する
	Document* document = new Document();

	//Word文書をディスクからロードする
	document->LoadFromFile(inputFile.c_str());

	//最初のセクションを取得する
	Section* sec = document->GetSections()->GetItem(0);

	//セクションの3番目の段落を削除する
	sec->GetParagraphs()->RemoveAt(2);

	//結果文書を保存する
	document->SaveToFile(outputFile.c_str(), FileFormat::Docx2013);
	document->Close();
	delete document;
}

C++:Word 文書で段落を削除する方法

Word 文書で空白の段落を削除する

文書に空の段落/行がたくさんある場合は、読みやすくするためにそれらを削除する必要があります。以下は、Word 文書内のすべての空白の段落/行を削除する手順です。

  • Document インスタンスを作成します。
  • Document->LoadFromFile() メソッドを使用して Word 文書をロードします。
  • 文書内のすべての段落をループし、その段落が空白段落であるかどうかを判断します。
  • section->GetBody()->GetChildObjects()->Remove() メソッドを使用して、文書から空白の段落を削除します。
  • Document->SaveToFile() メソッドを使用して結果文書を保存します
  • C++
#include "Spire.Doc.o.h"

using namespace Spire::Doc;

int main() {
	//入出力ファイルパスを指定する
	std::wstring inputFile = L"Data\\sample.docx";
	std::wstring outputFile = L"Output\\RemoveEmptyLines.docx";

	//Documentインスタンスを作成する
	Document* document = new Document();

	//Word文書をディスクからロードする
	document->LoadFromFile(inputFile.c_str());

	//Word文書内の各段落をループする
	for (int i = 0; i < document->GetSections()->GetCount(); i++)
	{
		Section* section = document->GetSections()->GetItem(i);

		for (int j = 0; j < section->GetBody()->GetChildObjects()->GetCount(); j++)
		{
			DocumentObject* secChildObject = section->GetBody()->GetChildObjects()->GetItem(j);
			if (secChildObject->GetDocumentObjectType() == DocumentObjectType::Paragraph)
			{
				Paragraph* para = dynamic_cast<Paragraph*>(secChildObject);
				std::wstring paraText = para->GetText();

				//段落が空白段落かどうかを判断する
				if (paraText.empty())
				{
					//空白段落を削除する
					section->GetBody()->GetChildObjects()->Remove(secChildObject);
					j--;
				}
			}

		}
	}

	//結果文書を保存する
	document->SaveToFile(outputFile.c_str(), FileFormat::Docx2013);
	document->Close();
	delete document;
}

C++:Word 文書で段落を削除する方法

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

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

ワークシートを作成またはレビューする際に、重要な情報を強調表示するために、特定のセルのフォントスタイルを変更する必要がある場合があります。例えば、テキストに異なるフォントタイプやサイズ、カラーを適用することができます。また、テキストを太字や斜体に設定することもできます。この記事では、Spire.XLS for Java を使用して Excel セルにフォントスタイルを適用する方法を紹介します。

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

まず、Spire.XLS 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.xls</artifactId>
        <version>13.4.1</version>
    </dependency>
</dependencies>

異なる Excel セルに異なるフォントを適用する

Spire.XLS によって提供される ExcelFont クラスを使用すると、セル内のフォント名、色、サイズ、およびスタイルを設定または変更できます。以下は、Spire.XLS for Java を使用して特定のセルにフォントスタイルを適用する手順です。

Spire.XLS for Java を使用して特定のセルにフォントスタイルを適用する手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.getWorksheets().get() メソッドを使用して特定のワークシートを取得します。
  • Worksheet.getCellRange() メソッドを使用して指定されたセルを取得します。
  • CellRange.setText() メソッドを使用してセルの値を設定します。
  • ExcelFont オブジェクトの下で setFontName()setFontColor()setFontSize()isBlod() メソッドを使用して、セル値のフォント名、色、サイズ、およびスタイルを設定します。
  • Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.FontUnderlineType;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

import java.awt.*;

public class ApplyFontToCell {

    public static void main(String[] args) {

        //Workbookオブジェクトを作成する
        Workbook workbook = new Workbook();

        //最初のシートを取得する
        Worksheet sheet = workbook.getWorksheets().get(0);

        //フォント名を設定する
        sheet.getCellRange("B1").setText("フォント名: Yu Mincho ");
        sheet.getCellRange("B1").getCellStyle().getExcelFont().setFontName("Yu Mincho ");

        //フォントサイズを設定する
        sheet.getCellRange("B2").setText("フォントサイズ: 20");
        sheet.getCellRange("B2").getCellStyle().getExcelFont().setSize(20);

        //フォント色を設定する
        sheet.getCellRange("B3").setText("フォント色: 赤色");
        sheet.getCellRange("B3").getCellStyle().getExcelFont().setColor(Color.red);

        //テキストを太字に設定する
        sheet.getCellRange("B4").setText("フォントスタイル: 太字");
        sheet.getCellRange("B4").getCellStyle().getExcelFont().isBold(true);

        //テキストを斜体に設定する
        sheet.getCellRange("B5").setText("フォントスタイル: 斜体");
        sheet.getCellRange("B5").getCellStyle().getExcelFont().isItalic(true);

        //テキストに下線を追加する
        sheet.getCellRange("B6").setText("フォントスタイル: 下線");
        sheet.getCellRange("B6").getCellStyle().getExcelFont().setUnderline(FontUnderlineType.Single);

        //テキストに削除線を追加する
        sheet.getCellRange("B7").setText("フォントスタイル: 削除線");
        sheet.getCellRange("B7").getCellStyle().getExcelFont().isStrikethrough(true);

        //結果ファイルに保存する
        workbook.saveToFile("output/ApplyFontToCell.xlsx", ExcelVersion.Version2016);
    }
}

Java:Excel のセルにフォントを適用する方法

単一の Excel セルに複数のフォントを適用する

単一の Excel セルに複数のフォントを適用することで、特定の文字を強調するのに役立ちます。以下は、Spire.XLS for Java を使用して単一のセルに複数のフォントを適用する手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.getWorksheets().get() メソッドを使用して特定のワークシートを取得します。
  • Workbook.createFont() メソッドを使用して2 つの ExcelFont オブジェクトを作成します。
  • Worksheet.getCellRange() メソッドを使用して特定のセルを取得します。
  • 次に、CellRange.getRichText().setText() メソッドを使用してセルのリッチテキストのコンテンツを設定します。
  • RichText.setFont() メソッドを使用して、2つの ExcelFont オブジェクトをリッチ テキストに適用します。
  • Workbook.saveToFile()メソッドを使用して結果ファイルを保存します。
  • Java
import com.spire.xls.*;

import java.awt.*;

public class ApplyMultipleFontsToCell {

    public static void main(String[] args) {

        //Workbookオブジェクトを作成する
        Workbook wb = new Workbook();

        //最初のシートを取得する
        Worksheet sheet = wb.getWorksheets().get(0);

        //ExcelFontオブジェクトを作成する
        ExcelFont font1 = wb.createFont();
        font1.setFontName("Arial Black");
        font1.setColor(Color.blue);
        font1.setSize(13f);
        font1.isBold(true);

        //別のExcelFontオブジェクトを作成する
        ExcelFont font2 = wb.createFont();
        font2.setFontName("Yu Mincho");
        font2.setColor(Color.red);
        font2.setSize(15f);
        font2.isBold(true);
        font2.isItalic(true);

        //テキストをセルB 5に書き込む
        RichText richText = sheet.getCellRange("B5").getRichText();
        richText.setText("Excelを処理するためのスタンドアロン型 Java API");

        //セルB 5のテキストに2スタイルのフォントを適用する
        richText.setFont(0, 12, font1);
        richText.setFont(13, 30, font2);

        //結果ファイルに保存する
        wb.saveToFile("output/ApplyMultipleFontsToCell.xlsx", ExcelVersion.Version2016);
    }
}

Java:Excel のセルにフォントを適用する方法

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

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