チュートリアル

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

Koohji

Koohji

Spire.XLS for Java 13.12.12のリリースをお知らせいたします。このバージョンでは、WPSツールで追加された埋め込み画像の取得をサポートしています。 XLSMからPDFへの変換機能も強化されました。 また、取得されたテキストのフォント サイズが正しくない問題など、いくつかの既知の問題も修正されました。 詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREXLS-4971 WPS ツールを使用して追加された埋め込み画像を取得するための worksheet.getCellImages() メソッドが追加されました。
Workbook workbook = new Workbook(); 
workbook.loadFromFile("sample.xlsx"); 
Worksheet sheet = workbook.getWorksheets().get(0); 
ExcelPicture[] picture = sheet.getCellImages(); 
for (int i = 0; i < picture.length; i++) { 
 ExcelPicture ep = picture[i]; 
 BufferedImage image = ep.getPicture(); 
 ImageIO.write(image,"PNG", new File(outputFile + String.format("pic_%d.png",i))); 
}
Bug SPIREXLS-4971 WPS ツールで追加された埋め込み画像を取得するときに、プログラムが「Index is less than 0 or more than or equal to the list count.」をスローする問題が修正されました。
Bug SPIREXLS-4996 Excel 文書を読み込むときにプログラムがハングする問題が修正されました。
Bug SPIREXLS-5010 取得したテキストのフォントサイズが正しくない問題が修正されました。
Bug SPIREXLS-5021 保存されたExcel文書内のグラフの座標軸データが正しくない問題が修正されました。
Bug SPIREXLS-5024 XLSM を PDF に変換するときに、プログラムが「java.lang.StringIndexOutOfBoundsException」をスローする問題が修正されました。
ここで Spire.XLS for Java 13.12.12をダウンロードする

大量のデータを含む Excel ドキュメントを処理する際には、特定の情報を簡単に見つけるために、特定のセルに背景色やパターンを設定することができます。Microsoft Excel では、「塗りつぶしの色」をクリックするだけで、この機能を実現できます。この記事では、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.11.6</version>
    </dependency>
</dependencies>

Excel セルの背景色とパターンを設定する

Spire.XLS for Java が提供する CellRange.getStyle().setColor() メソッドと CellRange.getStyle().setFillPattern() メソッドは、それぞれ指定されたセル範囲の背景色とパターン スタイルの設定をサポートします。詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.loadFromFile() メソッドを使用して、サンプル Excel ドキュメントを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して、指定されたワークシートを取得します。
  • Worksheet.getRange().get() メソッドを使用して、指定されたセル範囲を取得します。
  • CellRange.getStyle().setColor() メソッドを使用して、指定したセル範囲の背景色を設定します。
  • CellRange.getStyle().setFillPattern() メソッドを使用して、指定したセル範囲の塗りつぶしパターンスタイルを設定します。
  • Workbook.saveToFile() メソッドを使用して、結果文書を保存します。
  • Java
import com.spire.xls.*;
import java.awt.*;

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

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

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

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

        //「A1:E1」と「A2:A10」の背景色を設定する
        worksheet.getRange().get("A1:E1").getStyle().setColor(Color.green);
        worksheet.getRange().get("A2:A10").getStyle().setColor(Color.yellow);

        //「E8」の背景色を設定する
        worksheet.getRange().get("E8").getStyle().setColor(Color.red);

        //「C4:D5」の塗りつぶしパターンのスタイルを設定する
        worksheet.getRange().get("C4:D5").getStyle().setFillPattern(ExcelPatternType.Percent25Gray);

        //結果文書を保存する
        workbook.saveToFile("CellBackground.xlsx", ExcelVersion.Version2013);
    }
}

Java:Excel セルの背景色とパターンを設定する方法

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

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

ワークシートのデータを処理する際には、特定のデータをより簡単に見つけたり読み取ったりするために、列を再配置する必要がある場合があります。Microsoft Excel では、Shift キーを押しながらドラッグすることで列を簡単に移動できます。また、プログラミングの方法を使ってもこの機能を実現することができます。この記事では、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.11.6</version>
    </dependency>
</dependencies>

Java を使用して Excel の列の順序を変更する

Spire.XLS for Java は、Excel の列の順序のカスタマイズをサポートしています。以下に詳細な手順を示します。

  • Workbook オブジェクトを作成し、Workbook.loadFromFile() メソッドを使用してサンプル Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して、順序を調整するターゲットワークシートを取得します。
  • 新しい列の順序を int 配列で指定します。
  • 一時なワークシートを作成し、ターゲットシートからそこにデータをコピーします。
  • 一時なワークシートからターゲットシートに列をコピーし、新しい順序で保存します。
  • 一時なワークシートを削除します。
  • Workbook.saveToFile() メソッドを使用して、ワークブックを別の Excel ファイルに保存します。
  • Java
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class RearrangeColumns {

    public static void main(String[] args) {

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

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

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

        //新しい列の順序を設定する「列インデックスは 0 から計算される」
        int[] newColumnOrder = new int[]{4, 0, 1, 2, 3, 5};

        //一時的なワークシートを追加する
        Worksheet newSheet = workbook.getWorksheets().add("temp");

        //最初のワークシートから一時シートにデータをコピーする
        newSheet.copyFrom(worksheet);

        //newColumnOrder 配列をループする
        for (int i = 0; i < newColumnOrder.length; i++) {

            //一時なワークシートから最初のシートに列をコピーする
            newSheet.getColumns()[newColumnOrder[i]].copy(worksheet.getColumns()[i],true,true);

            //最初のシートの特定の列の幅を一時なシートの幅に設定する
            worksheet.getColumns()[i].setColumnWidth(newSheet.getColumns()[newColumnOrder[i]].getColumnWidth());
        }

        //一時なワークシートを削除する
        workbook.getWorksheets().remove(newSheet);

        //ワークブックを別の Excel ファイルに保存する
        workbook.saveToFile("output/MoveColumn.xlsx", FileFormat.Version2016);
    }
}

Java:Excel で列の順序を変更する方法

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

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

Spire.Doc 11.12.4のリリースをお知らせいたします。このバージョンでは、WordからPostScriptへのテキスト整形機能が追加されました(.NET 4.6 以降のバージョンをサポート)。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature - WordからPostScriptへのテキスト整形機能が追加されました(.NET 4.6 以降のバージョンをサポート)。
Document document = new Document();
document.LoadFromFile("input.docx");
document.LayoutOptions.UseHarfBuzzTextShaper = true; // trueで有効、falseで無効
document.SaveToFile("output.ps", FileFormat.PostScript);
ここで Spire.Doc 11.12.4をダウンロードする

PDF は、さまざまなプラットフォームでドキュメントを共有および保存するための標準的な形式となっており、プロフェッショナルな場面だけでなく個人的な環境でも広く使用されています。ただし、高品質な PDF ドキュメントを作成するには、複数の確認と修正が必要です。この文脈において、PDF ファイルを効率的に比較し、その違いを明確に特定する方法を知っていることは非常に重要です。これにより、ドキュメント編集者はドキュメントの異なるバージョン間の相違点を素早く特定できるため、ドキュメントの作成とレビューのプロセスでかなりの時間を節約することができます。本記事では、C# プログラムで Spire.PDF for .NET を使用して PDF ドキュメントを比較する方法を説明します。

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

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

PM> Install-Package Spire.PDF

C# で 2 つの PDF ドキュメントを比較する

Spire.PDF for .NET を使用すると、開発者は PdfComparer クラスのインスタンスを作成し、2 つの PdfDocument オブジェクトをパラメータとして渡し、PdfComparer.Compare(String fileName) メソッドを使用して 2 つのドキュメントを比較することができます。比較結果は新しい PDF ドキュメントとして保存され、2 つの PDF 間の差異をさらに分析やレビューすることができます。

比較結果の PDF ドキュメントでは、左側に元の 2 つのドキュメントが表示され、削除された項目は赤色で、追加された項目は黄色で表示されます。

以下に、2つの PDF ドキュメントを比較するための詳細な手順を示します:

  • PdfDocument クラスのオブジェクトを2つ作成し、PdfDocument.LoadFromFile() メソッドを使用して 2 つの PDF ドキュメントを読み込みます。
  • PdfComparer クラスのインスタンスを作成し、2 つの PdfDocument オブジェクトをパラメータとして渡します。
  • 2 つのドキュメントを比較し、PdfComparer.Compare() メソッドを使用して結果を別の PDF ドキュメントとして保存します。
  • C#
using Spire.Pdf;
using Spire.Pdf.Comparison;

namespace ExtractTablesToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentクラスのオブジェクトを作成し、PDFドキュメントをロードします
            PdfDocument pdf1 = new PdfDocument();
            pdf1.LoadFromFile("サンプル1.pdf");

            // 別のPdfDocumentクラスのオブジェクトを作成し、別のPDFドキュメントをロードします
            PdfDocument pdf2 = new PdfDocument();
            pdf2.LoadFromFile("サンプル2.pdf");

            // PdfComparerクラスのオブジェクトを作成し、2つのドキュメントを比較します
            PdfComparer comparer = new PdfComparer(pdf1, pdf2);
            
            // 2つのドキュメントを比較し、比較結果を別のPDFドキュメントに保存します
            comparer.Compare("output/比較の結果.pdf");
            pdf1.Close();
            pdf2.Close();
        }
    }
}

C#:PDF ドキュメントを比較する方法

2 つの PDF ドキュメントの特定のページ範囲を比較する

PdfComparer クラスのインスタンスを作成した後、開発者は PdfComparer.Options.SetPageRange() メソッドを使用して比較するページ範囲を設定することもできます。これにより、2 つの PDF ドキュメント内の指定されたページ範囲のみを比較することが可能です。具体的な手順は以下の通りです:

  • PdfDocument クラスの 2 つのオブジェクトを作成し、PdfDocument.LoadFromFile() メソッドを使用して 2 つの PDF ドキュメントを読み込みます。
  • PdfComparer クラスのインスタンスを作成し、2 つの PdfDocument オブジェクトをパラメータとして渡します。
  • PdfComparer.Options.SetPageRange() メソッドを使用して比較するページ範囲を設定します。
  • PdfComparer.Compare() メソッドを使用して、2 つの PDF ドキュメントの指定されたページ範囲を比較し、結果を別の PDF ドキュメントとして保存します。
  • C#
using Spire.Pdf;
using Spire.Pdf.Comparison;

namespace ExtractTablesToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentクラスのオブジェクトを作成し、PDFドキュメントをロードします
            PdfDocument pdf1 = new PdfDocument();
            pdf1.LoadFromFile("サンプル1.pdf");

            // 別のPdfDocumentクラスのオブジェクトを作成し、別のPDFドキュメントをロードします
            PdfDocument pdf2 = new PdfDocument();
            pdf2.LoadFromFile("サンプル2.pdf");

            // PdfComparerクラスのオブジェクトを作成し、2つのドキュメントを比較します
            PdfComparer comparer = new PdfComparer(pdf1, pdf2);

            // 比較するページ範囲を設定します
            comparer.Options.SetPageRanges(1, 1, 1, 1);
            
            // 指定されたページ範囲を比較し、比較結果を別のPDFドキュメントに保存します
            comparer.Compare("output/ページ範囲の比較結果.pdf");
            pdf1.Close();
            pdf2.Close();
        }
    }
}

C#:PDF ドキュメントを比較する方法

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

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

2023年のクリスマスが近づいています。まずはクリスマスおめでとうございます!

日頃の信頼とご支援に感謝し、弊社は 2023年12月15日から2024年1月15日 まで、今年最大のプロモーション活動を展開いたします。 この期間中、新規および既存のお客様を対象に、さまざまな割引プログラムをご用意しています。弊社製品のテスト結果にご満足いただけましたら、キャンペーン期間中、超低価格でライセンスをご購入いただけます。 すでにライセンスを購入している場合は、更新時にさらに割引を受けることもできます。


キャンペーン

  • Spire.Office の Developer OEM Subscription 以上で 20% 割引が適用されます。
  • 単独の API 製品の Site Small Business Subscription 以上で 20% 割引が適用されます。
  • 既存のライセンスの更新は追加で 5% 割引が適用されます。

キャンペーン期間中に製品を購入する前に、このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。に連絡してクーポンコードを入手してください。

:
  • これらの割引は、弊社に直接購入する場合にのみ適用されます。
  • ライセンスが期限切れになっていない場合は、更新後のライセンス期間が前にライセンス期限に基づいて増加します。

お問い合わせ

  • Sale: このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。
  • Technical Support: このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。
  • Skype ID: iceblue.support

Spire.Doc for Java 11.12.1のリリースを発表できることを嬉しく思います。このバージョンでは、文字ごとに左右のインデントを設定する機能をサポートしています。 WordからPDF、HTMLへ、HTMLからWordへの変換機能も強化されました。また、セクションの方向を横向きに設定しても有効にならない問題など、いくつかの既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREDOC-9980 文字ごとに左右のインデントを設定する機能をサポートしています。
paragraph.getFormat().setLeftIndentChars(2.5f); 
paragraph.getFormat().setRightIndentChars(5.5f);
Bug SPIREDOC-9452 Word を PDF に変換した後に余分な空白ページが表示される問題が修正されました。
Bug SPIREDOC-9737 RTF を PDF に変換した後のコンテンツ形式が正しくない問題が修正されました。
Bug SPIREDOC-9838
SPIREDOC-9913
リビジョンを受け付ける機能が動作していなかった問題が修正されました。
Bug SPIREDOC-9927 Word を PDF に変換した後のセル行の高さが不一致になる問題が修正されました。
Bug SPIREDOC-9930 WordをPDFに変換した後、フローチャートの文字色が正しく表示されない問題が修正されました。
Bug SPIREDOC-9936 RTFをWordに変換すると項目番号が整わない問題が修正されました。
Bug SPIREDOC-9955 Word を HTML に変換するときにプログラムが 「java.lang.IllegalArgumentException」をスローする問題が修正されました。
Bug SPIREDOC-9957 HTMLをWordに変換した後、表の枠線が欠ける問題が修正されました。
Bug SPIREDOC-9962 Word を HTML に変換すると、下付きテキストのフォント サイズが小さくなる問題が修正されました。
Bug SPIREDOC-9975 セクションの方向を横向きに設定しても有効にならない問題が修正されました。
Bug SPIREDOC-10030 HTMLをWordに変換した後、数式が正しく表示されない問題が修正されました。
Bug SPIREDOC-10049 Word を PDF に変換するときにプログラムが「Non-negative number required」をスローする問題が修正されました。
Bug SPIREDOC-10059 Word 文書に HTML テキストを挿入するときにプログラムが 「java.lang.StringIndexOutOfBoundsException」をスローする問題が修正されました。
Bug SPIREDOC-9897 正規表現を使用したテキスト検索に失敗する問題が修正されました。
Bug SPIREDOC-9857 Word を PDF に変換した後、テキスト ボックス内の括弧の方向が変わる問題が修正されました。
ここで Spire.Doc for Java 11.12.1をダウンロードする

Spire.Presentation 8.12.2のリリースをお知らせいたします。このバージョンでは、マスターページを画像に変換する機能をサポートしています。PPTからPDFへの変換機能が強化されました。 また、グラフラベルの位置を変更した後、効果が正しくなくなる問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPPT-2397 マスターページを画像に変換する機能をサポートしています。
Presentation ppt = new Presentation(); 
ppt.LoadFromFile("1.pptx"); 
for (int i = 0; i < ppt.Masters[0].Layouts.Count; i++) 
{ 
Image image = ppt.Masters[0].Layouts[i].SaveAsImage(); 
String fileName = String.Format("{0}.png", i); 
image.Save(fileName, System.Drawing.Imaging.ImageFormat.Png); 
} 
ppt.Dispose(); 
Bug SPIREPPT-2394 PPT を PDF に変換した後のコンテンツ レイアウトが正しくない問題が修正されました。
Bug SPIREPPT-2396 グラフのラベルの位置を変更した後に効果が正しくなくなる問題が修正されました。
ここで Spire. Presentation 8.12.2をダウンロードする

テキストボックスは、移動可能な要素であり、ユーザーがテキストを入力または編集することができるようにします。Excel ファイルを処理する際、元のグラフのテキスト説明が不十分な場合、テキストボックスを追加して追加情報をグラフに追加することができます。この記事では、Spire.XLS for Java を使用して、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.11.6</version>
    </dependency>
</dependencies>

Java でグラフにテキストボックスを追加する

Spire.XLS for Java が提供する Chart.getShapes().addTextBox() メソッドは、グラフへのテキスト ボックスの挿入をサポートしています。 次に、ITextBoxLinkShape.setText() メソッドを使用して、このテキストボックスにテキストを挿入します。 以下に詳細な手順を示します。

  • Workbook インスタンスを作成し、Workbook.loadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して、指定されたワークシートを取得します。
  • Worksheet.getCharts().get() メソッドを使用して、特定のグラフを取得します。
  • Chart.getShapes().addTextBox() メソッドを使用して、グラフにテキストボックスを追加します。
  • ITextBoxLinkShape.setText() メソッドを使用して、テキストボックスにテキストを追加します。
  • ITextBoxLinkShape インターフェイスが提供するメソッドを使用して、追加されたテキストボックスのサイズと位置を設定します。
  • Workbook.saveToFile() メソッドを使用して、結果文書を保存します。
  • Java
import com.spire.xls.*;
import com.spire.xls.core.*;

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

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

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

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

        //最初のグラフを取得する
        Chart chart = sheet.getCharts().get(0);

        //グラフにテキストボックスを追加する
        ITextBoxLinkShape textbox = chart.getShapes().addTextBox();
        textbox.setText("2023年12月12日、中本によって修正された。");

        //テキストボックスのサイズと位置を設定する
        textbox.setWidth(1100);
        textbox.setHeight(480);
        textbox.setLeft(2800);
        textbox.setTop(480);

        //結果ファイルを保存する
        workbook.saveToFile("AddTextBoxToChart.xlsx", ExcelVersion.Version2013);
        workbook.dispose();
    }
}

Java:Excel のグラフにテキストボックスを追加する方法

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

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

Spire.PDF for C++ 9.12.0を発表できることを嬉しく思います。このバージョンでは、PDF から Word への変換機能が強化されました。 さらに、PDF 署名から画像を抽出するときに、プログラムが「ExtractSignatureAsImages」をスローする問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREPDF-6334 PDF を Word に変換するときに、プログラムが「System.Exception」をスローする問題が修正されました。
Bug SPIREPDF-6339 PDFをWordに変換すると、コンテンツの一部がぼやけてしまう問題が修正されました。
Bug SPIREPDF-6404 PDF 署名から画像を抽出するときに、プログラムが「ExtractSignatureAsImages」をスローする問題が修正されました。
ここで Spire.PDF for C++ 9.12.0をダウンロードする