チュートリアル

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

Koohji

Koohji

Spire.DocViewer 8.7.8のリリースを発表できることを嬉しく思います。このバージョンでは、WPF および MAUI プラットフォームのサポートが追加されています。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー 説明
New feature WPF および Windows フォームを含む .NET 6.0 をサポートします。
New feature MAUI プラットフォーム (.NET 7.0) をサポートしていますが、現在は Windows と Android のみを対象としています。
ここで Spire.DocViewer 8.7.8をダウンロードする

Spire.PDF 10.3.7 のリリースをお知らせいたします。このバージョンでは、複数の TIFF から PDF への変換プロセス中に発生する高メモリ消費の問題が最適化されます。 さらに、PDF の印刷時にプログラムが 「System.NullReferenceException」例外をスローする問題など、既知の問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREPDF-6423 複数の TIFF から PDF への変換プロセスにおけるメモリ消費量が多い問題を最適化しました。
Bug SPIREPDF-6515 PDF を印刷するときにプログラムが 「System.NullReferenceException」例外をスローする問題を修正しました。
Bug SPIREPDF-6516 グレースケール PDF に変換した後、一部のコンテンツがカラーのままである問題を修正しました。
Bug SPIREPDF-6528 Split()メソッド使用時にプログラムが「System.NullReferenceException」例外をスローする問題を修正しました。
Bug SPIREPDF-6531 テキストを抽出するときにプログラムが「System.IndexOutOfRangeException」例外をスローする問題を修正しました。
Bug SPIREPDF-6547 強調表示されたテキストを検索すると誤った結果が得られる問題を修正しました。
Bug SPIREPDF-6549 PdfCode39Barcode を使用して「*」を含むデータのバーコードを生成するときにプログラムが例外をスローする問題を修正しました。
Bug SPIREPDF-6550 デジタル署名の検証結果が正しくない問題を修正しました。
Bug SPIREPDF-6555 PDFをPPTに変換するとスペースが消える問題を修正しました。
Bug SPIREPDF-6558 PDF ドキュメントを保存するときにプログラムが「Empty convert-string」例外をスローする問題を修正しました。
Bug SPIREPDF-6568 PDF ドキュメントをロードするときにプログラムが「System.OverflowException」例外をスローする問題を修正しました。
Bug SPIREPDF-6574 PDF を XPS に変換するときにプログラムが 「System.ArgumentException」例外をスローする問題を修正しました。
Bug SPIREPDF-6575 フォームボタンフィールドのアクションのJavaScriptコードを取得できない問題を修正しました。
ここで Spire.PDF 10.3.7 をダウンロードする

円グラフは、セクターに分割された円形のグラフであり、各セクターは全体の比例部分を表します。 データはグラフの形式で表示されるため、ユーザーはデータを簡単に分析および比較できます。 ドーナツ グラフに関しては、中央に「穴」があることを除いて、円グラフと同じ機能を実行します。この記事では、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>14.2.4</version>
    </dependency>
</dependencies>

Excel で円グラフを作成する

Spire.XLS for Java が提供する Worksheet.getCharts().add(ExcelChartType.Pie) メソッドは、ワークシートへに円グラフの追加をサポートしています。詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.getWorksheets().get() メソッドを使用して、指定されたワークシートを取得します。
  • 指定したセルにデータを追加し、セルのスタイルを設定します。
  • Worksheet.getCharts().add(ExcelChartType.Pie) メソッドを使用して、ワークシートに円グラフを追加します。
  • Chart.setDataRange() メソッドを使用して、グラフのデータ範囲を設定します。
  • グラフの位置とタイトルを設定します。
  • グラフ内の指定されたシリーズを取得し、ChartSerie.setCategoryLabels()ChartSerie.setValues() メソッドを使用して、シリーズのカテゴリラベルと値を設定します。
  • データポイントのデータラベルを表示します。
  • Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
  • Java
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;

import java.awt.*;

public class CreatePieChart {

    public static void main(String[] args) {

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

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

        //指定したセルにデータを挿入する
        sheet.getCellRange("A1").setValue("年");
        sheet.getCellRange("A2").setValue("2002");
        sheet.getCellRange("A3").setValue("2003");
        sheet.getCellRange("A4").setValue("2004");
        sheet.getCellRange("A5").setValue("2005");

        sheet.getCellRange("B1").setValue("売上");
        sheet.getCellRange("B2").setNumberValue(4000);
        sheet.getCellRange("B3").setNumberValue(6000);
        sheet.getCellRange("B4").setNumberValue(7000);
        sheet.getCellRange("B5").setNumberValue(8500);

        //セルのスタイルを設定する
        sheet.getCellRange("A1:B1").setRowHeight(15);
        sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);
        sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);
        sheet.getCellRange("A1:B5").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
        sheet.getCellRange("A1:B5").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);

        //数値フォーマットを設定する
        sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("\"$\"#,##0");

        //円グラフをワークシートに追加する
        Chart chart = sheet.getCharts().add(ExcelChartType.Pie);

        //グラフのデータ範囲を設定する
        chart.setDataRange(sheet.getCellRange("B2:B5"));
        chart.setSeriesDataFromRange(false);

        //グラフの位置を設定する
        chart.setLeftColumn(3);
        chart.setTopRow(1);
        chart.setRightColumn(11);
        chart.setBottomRow(20);

        //グラフのタイトルを設定または書式設定する
        chart.setChartTitle("年別売上高");
        chart.getChartTitleArea().isBold(true);
        chart.getChartTitleArea().setSize(12);

        //グラフから指定された系列を取得する
        ChartSerie cs = chart.getSeries().get(0);

        //シリーズのカテゴリラベルを設定する
        cs.setCategoryLabels(sheet.getCellRange("A2:A5"));

        //シリーズの値を設定する
        cs.setValues(sheet.getCellRange("B2:B5"));

        //データポイントのデータラベルを表示する
        cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);

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

Java:Excel で円グラフまたはドーナツグラフを作成する方法

Excel でドーナツグラフを作成する

Spire.XLS for Java が提供する Worksheet.getCharts().add(ExcelChartType.Doughnut) メソッドは、ワークシートへにドーナツグラフの追加をサポートしています。詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.getWorksheets().get() メソッドを使用して、指定されたワークシートを取得します。
  • 指定したセルにデータを追加し、セルのスタイルを設定します。
  • Worksheet.getCharts().add(ExcelChartType.Doughnut) メソッドを使用して、ワークシートにドーナツグラフを追加します。
  • Chart.setDataRange() メソッドを使用して、グラフのデータ範囲を設定します。
  • グラフの位置とタイトルを設定します。
  • データポイントのデータラベルを表示します。
  • Chart.getLegend().setPosition() メソッドを使用して、グラフの凡例位置を設定します。
  • Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
  • Java
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import com.spire.xls.charts.ChartSeries;

import java.awt.*;

public class CreateDoughnutChart {

    public static void main(String[] args) {

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

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

        //指定したセルにデータを挿入する
        sheet.getCellRange("A1").setValue("国");
        sheet.getCellRange("A2").setValue("キューバ");
        sheet.getCellRange("A3").setValue("メキシコ");
        sheet.getCellRange("A4").setValue("ドイツ");
        sheet.getCellRange("A5").setValue("日本");

        sheet.getCellRange("B1").setValue("売上");
        sheet.getCellRange("B2").setNumberValue(6000);
        sheet.getCellRange("B3").setNumberValue(8000);
        sheet.getCellRange("B4").setNumberValue(9000);
        sheet.getCellRange("B5").setNumberValue(8500);

        //セルのスタイルを設定する
        sheet.getCellRange("A1:B1").setRowHeight(15);
        sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);
        sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);
        sheet.getCellRange("A1:B5").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
        sheet.getCellRange("A1:B5").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);

        //数値フォーマットを設定する
        sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("\"$\"#,##0");

        //ドーナツグラフをワークシートに追加する
        Chart chart = sheet.getCharts().add(ExcelChartType.Doughnut);

        //グラフのデータ範囲を設定する
        chart.setDataRange(sheet.getCellRange("A1:B5"));
        chart.setSeriesDataFromRange(false);

        //グラフの位置を設定する
        chart.setLeftColumn(3);
        chart.setTopRow(1);
        chart.setRightColumn(11);
        chart.setBottomRow(20);

        //グラフのタイトルを設定する
        chart.setChartTitle("国別の市場シェア");
        chart.getChartTitleArea().isBold(true);
        chart.getChartTitleArea().setSize(12);

        //データポイントのデータラベルを表示する
        ChartSeries series = chart.getSeries();
        for (int i = 0 ; i < series.size() ; i++) {
            ChartSerie cs = series.get(i);
            cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasPercentage(true);
        }

        //グラフの凡例の位置を設定する
        chart.getLegend().setPosition(LegendPositionType.Top);

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

Java:Excel で円グラフまたはドーナツグラフを作成する方法

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

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

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>14.2.4</version>
    </dependency>
</dependencies>

Excel セル内のテキストの折り返しまたは折り返し解除

Spire.XLS for Java は、IStyle インターフェイスによって提供される setWrapText() メソッドを使用した Excel セル内のテキストの折り返しまたは折り返し解除をサポートします。 以下に詳細な手順を示します。

  • Workbook インスタンスを作成します。
  • Workbook.loadFromFile() メソッドを使用して、サンプルの Excel ドキュメントをロードします。
  • Workbook.getWorksheets().get() メソッドを使用して、特定のワークシートを取得します。
  • Worksheet.getRange().get() メソッドを使用して、シートの特定のセルを取得します。
  • XlsRange.getStyle() メソッドを使用して、指定されたセルのスタイルを取得します。
  • IStyle インターフェイスが提供する setWrapText() メソッドを使用して、セルのテキストが折り返されるかどうかを設定します。
  • Workbook.saveToFile() メソッドを使用して、ドキュメントを別のファイルに保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

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

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

        //サンプル Excel ドキュメントをロードする
        workbook.loadFromFile("Sample.xlsx");

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

        //セル「C5」内のテキストを折り返す
        sheet.getRange().get("C5").getStyle().setWrapText(true);

        //セル「C6」内のテキストの折り返しを解除する
        sheet.getRange().get("C6").getStyle().setWrapText(false);

        //ドキュメントを別のファイルに保存する
        workbook.saveToFile("output/WrapOrUnwrapText.xlsx", ExcelVersion.Version2013);
        workbook.dispose();
    }
}

Java:Excel セル内のテキストの折り返しまたは折り返し解除

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

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

Spire.XLS for Java 14.3.0 のリリースをお知らせいたします。このバージョンでは、元の Spire.XLS for Java 製品に XLSAI 機能が追加されています。 AI モデルにリクエストを送信することで、AI による文書計算、範囲結合、画像生成、ファイルアップロード、質問、翻訳などの機能を実現できます。 詳細は以下の内容を読んでください。

主な AI 機能と対応する API
機能 API
文書計算 public String excelGenerate(List<CellRange> ranges)
範囲結合 public String excelMerge(CellRange descRange, List<Cellrange> srcRanges, CellRange titleRange)
画像生成 public InputStream imageGenerate(String description)
指定したサイズの画像を生成する public InputStream imageGenerate(String description, ImageGenerationModel model, ImageGenerationSize size)
ファイルをアップロードする public String uploadFile(String fileName, InputStream stream)
ワークブックをアップロードする public String uploadWorkbook(Workbook workbook)
文書について質問する public String documentSearch(String question, String file_server_path, boolean enableHistory)
public String documentSearch(String question, String file_server_path, Map<String, String> options, boolean enableHistory)
検索 public String search(String question, String language, boolean enableHistory)
ワークシートを翻訳する public String excelTranslate(List<Worksheet> srcWorksheets, String language, boolean translateSheetName)
範囲を翻訳する public String excelTranslate(List<CellRange> srcRanges, String language)
Excel ワークシートに記入します public String excelFill(CellRange dataRange, CellRange descRange, boolean containTitle, List<Integer> fillColumnIndexs)
public String excelFill(CellRange dataRange, CellRange descRange, boolean containTitle, List<Integer> fillColumnIndexs, List<String> keys)
質問 public String ask(String question, boolean enableHistory)
ユーザー履歴をクリア public String resetUserHistory()
履歴セッションをクリア public String resetChatHistory(String sessionid)
ここで Spire.XLS for Java 14.3.0 をダウンロードする

Spire.PDF for Java 10.3.1 を発表できることをうれしく思います。このバージョンでは、OFD から PDF への変換機能が強化されています。 さらに、setRowSpan() が 2 回使用された場合にプログラムが「StackOverflow」例外をスローする問題など、既知の問題も修正されました。 詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREPDF-6548 pdfDocument.getConformance() を使用して取得された間違った PDF タイプの問題を修正しました。
Bug SPIREPDF-6554 setRowSpan() が 2 回使用された場合にプログラムが「StackOverflow」例外をスローする問題を修正しました。
Bug SPIREPDF-6581 OFD を PDF に変換する際にコンテンツが失われる問題を修正しました。
ここで Spire.PDF for Java 10.3.1 をダウンロードする

Spire.Doc for Java 12.3.1のリリースを発表できることを嬉しく思います。このバージョンでは、ドメイン更新時のドメインプロパティの設定のサポートや、ドキュメントにデジタル署名があるかどうかの判断のサポートなど、多くの新機能が追加されています。さらに、Word を OFD に変換した後のファイル サイズも最適化されました。 詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Improvement SPIREDOC-10325 Word を OFD に変換した後の結果ファイルのサイズを最適化しました。
New feature - MergeImageFieldEventArgs イベントに setImageLink() を追加して、差し込み印刷画像へのハイパーリンクの追加をサポートします。
Document document = new Document();
 document.loadFromFile(inputFile);
 String[] fieldNames = new String[]{"ImageFile"};
 String[] fieldValues = new String[]{inputFile_img};
 document.getMailMerge().MergeImageField = new MergeImageFieldEventHandler() {
     @Override
     public void invoke(Object sender, MergeImageFieldEventArgs args) {
         mailMerge_MergeImageField(sender, args);
     }
 };
 document.getMailMerge().execute(fieldNames, fieldValues);
 document.saveToFile(outputFile, FileFormat.Docx);
private static void mailMerge_MergeImageField(Object sender, MergeImageFieldEventArgs field) {
    String filePath = field.getImageFileName();
    if (filePath != null && !"".equals(filePath)) {
        try {
            field.setImage(filePath);
            field.setImageLink("https://www.baidu.com/");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
New feature SPIREDOC-9369 getFieldOptions() メソッドを追加して、フィールド更新時のフィールド プロパティの設定をサポートします。
document.getFieldOptions().setCultureSource(FieldCultureSource.CurrentThread);
New feature - hasDigitalSignature() メソッドを追加して、ドキュメントにデジタル署名があるかどうかの判断をサポートします。
Document.hasDigitalSignature("filepath");
New feature SPIREDOC-9455 integrateFontTableTo メソッドを追加して、ソースドキュメントからターゲットドキュメントへのFonttableデータのコピーをサポートします。
sourceDoc.integrateFontTableTo(Document destDoc);
New feature SPIREDOC-9869 HtmlUrlLoadEvent イベントを追加して、HTML ファイルをロードするときにファイル内の URL をロードする制御をサポートします。
public static void main(String[] args) {
    Document document = new Document();
    document.HtmlUrlLoadEvent = new MyDownloadEvent();
    document.loadFromFile(inputFile, FileFormat.Html, XHTMLValidationType.None);
    document.saveToFile(outputFile, FileFormat.PDF);
}
static class MyDownloadEvent extends HtmlUrlLoadHandler {
    @Override
    public void invoke(Object o, HtmlUrlLoadEventArgs htmlUrlLoadEventArgs) {
        try {
            byte[] bytes = downloadBytesFromURL(htmlUrlLoadEventArgs.getUrl());
            htmlUrlLoadEventArgs.setDataBytes(bytes);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
public static byte[] downloadBytesFromURL(String urlString) throws Exception {
    URL url = new URL(urlString);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("GET");
    connection.setConnectTimeout(5000);
    connection.setReadTimeout(5000);
    int responseCode = connection.getResponseCode();
    if (responseCode == HttpURLConnection.HTTP_OK) {
        InputStream inputStream = connection.getInputStream();
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = inputStream.read(buffer)) != -1) {
            outputStream.write(buffer, 0, bytesRead);
        }
        outputStream.close();
        return outputStream.toByteArray();
    } else {
        throw new Exception("Failed to download content. Response code: " + responseCode);
    }
}
New feature - setCustomFonts(InputStream[] fontStreamList) メソッドを追加して、ストリームによるカスタム フォントの設定をサポートします。
document.setCustomFonts(InputStream[] fontStreamList);
New feature - clearCustomFontsFolders() メソッドを新しい clearCustomFonts() メソッドに置き換えます。
document.clearCustomFonts();
New feature - setGlobalCustomFontsFolders(InputStream[] fontStreamList) メソッドを新しい setGlobalCustomFonts(InputStream[] fontStreamList) メソッドに置き換えます。
Document.setGlobalCustomFonts(InputStream[] fontStreamList);
New feature - clearGlobalCustomFontsFolders() メソッドを新しい clearGlobalCustomFonts() メソッドに置き換えます。
Document.clearGlobalCustomFonts();
ここで Spire.Doc for Java 12.3.1をダウンロードする

Spire.Presentation 9.3.0のリリースをお知らせいたします。このバージョンでは、元の Spire.Presentation に PresentationAI 機能が追加されています。AIモデルにリクエストを送信することで、テキスト研磨、翻訳、テキスト要約、テキスト継続、プレゼンテーション生成、画像生成をAIの助けを借りて実現することができます。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
機能 API
テキスト研磨 public string Polish(IShape shape,string language);
翻訳 public string Translate(ISlide slide, string language);
要約 public string Summarize(IShape shape, string language);
プレゼンテーション生成 public Presentation Generate(string describe, string language, bool genareteBackGroundImage);
質問 public string Ask(string question, bool enableHistory = false);
文書検索 public string DocumentSearch(string question, string file_server_path, bool enableHistory = false);
画像生成 public Stream ImageGenerate(string description);
ここで Spire. Presentation 9.3.0をダウンロードする

画像は、さまざまな Web プラットフォームやドキュメントに埋め込んで表示できる、広くサポートされている形式です。 Excel グラフを Web サイトで公開する場合、または 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>14.2.4</version>
    </dependency>
</dependencies>

Excel で特定のグラフを画像に変換する

Spire.XLS for Java には、ワークシート内の特定のグラフを画像として変換するための Workbook.saveChartAsImage(Worksheet worksheet, int chartIndex) メソッドが用意されています。詳細な手順は次のとおりです。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.loadFromFile() メソッドを使用して、サンプル Excel ファイルをロードします。
  • Workbook.getWorksheets().get(int index) メソッドを使用して、インデックスで特定のワークシートを取得します。
  • Workbook.saveChartAsImage(Worksheet worksheet, int chartIndex) メソッドを使用して、シート内の特定のグラフを画像として保存します。
  • 画像を PNG ファイルに保存します。
  • Java
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class ConvertAExcelChartToImage {
    public static void main(String[] args) throws IOException {

        //Workbook クラスのインスタンスを初期化する
        Workbook workbook = new Workbook();

        //サンプル Excel ファイルをロードする
        workbook.loadFromFile("Charts.xlsx");

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

        //そのシートの最初のグラフを画像として保存する
        BufferedImage image = workbook.saveChartAsImage(sheet, 0);
        
        //画像を .png ファイルに保存する
        ImageIO.write(image, "PNG", new File("Image\\chart.png"));
        workbook.dispose();
    }
}

Java:Excel グラフを画像に変換する方法

Excel ですべてのグラフを画像に変換する

ワークシート内のすべてのグラフを画像に変換するには、Workbook.saveChartAsImage(Worksheet worksheet) メソッドを使用してください。詳細な手順は次のとおりです。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.loadFromFile() メソッドを使用して、サンプル Excel ファイルをロードします。
  • Workbook.getWorksheets().get(int index) メソッドを使用して、インデックスで特定のワークシートを取得します。
  • Workbook.saveChartAsImage(Worksheet worksheet) メソッドを使用して、シート内のすべてのグラフを画像として保存します。
  • 画像を PNG ファイルに保存します。
  • Java
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class ConvertAllExcelChartsToImage {
    public static void main(String[] args) throws IOException {

        //Workbook クラスのインスタンスを初期化する
        Workbook workbook = new Workbook();

        //サンプル Excel ファイルをロードする
        workbook.loadFromFile("Charts.xlsx");

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

        //そのシート内のすべてのグラフを画像として保存する
        BufferedImage[] imgs = workbook.saveChartAsImage(sheet);

        //画像を .png ファイルに保存する
        for (int i = 0; i < imgs.length; i++)
        {
            File file = new File("Image\\" + String.format(("chart-%d.png"), i));
            ImageIO.write(imgs[i], "PNG", file);
        }
        workbook.dispose();
    }
}

Java:Excel グラフを画像に変換する方法

Excel でグラフシートを画像に変換する

Excel のグラフ シートは、グラフの表示専用の別のシートです。Workbook.saveChartAsImage(ChartSheet chartSheet) メソッドを使用して、Excel でグラフ シートを画像に変換できます。詳細な手順は次のとおりです。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.loadFromFile() メソッドを使用して、サンプル Excel ファイルをロードします。
  • Workbook.getChartsheets().get(int index) メソッドを使用して、インデックスで特定のグラフシートを取得します。
  • Workbook.saveChartAsImage(ChartSheet, chartSheet) メソッドを使用して、グラフシートを画像として保存します。
  • 画像を .png ファイルに保存します。
  • Java
import com.spire.xls.ChartSheet;
import com.spire.xls.Workbook;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class ConvertExcelChartSheetToImage {
    public static void main(String[] args) throws IOException {

        //Workbook クラスのインスタンスを初期化する
        Workbook workbook = new Workbook();

        //サンプル Excel ファイルをロードする
        workbook.loadFromFile("ChartSheet.xlsx");

        //最初のグラフシートを取得する
        ChartSheet chartSheet = workbook.getChartsheets().get(0);

        //そのグラフシートを画像として保存する
        BufferedImage image = workbook.saveChartAsImage(chartSheet);
        
        //画像を .png ファイルに保存する
        ImageIO.write(image, "PNG", new File("Image\\chartSheet.png"));
        workbook.dispose();
    }
}

Java:Excel グラフを画像に変換する方法

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

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

Excel の文書プロパティは、ワークブックに関する追加情報を提供する重要なメタデータです。複数のワークブックを管理しており、作者、タイトルなどの情報を追跡したい場合に、これらの文書プロパティを読み取ることで迅速に情報を集めることができます。また、特定の状況では、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>14.2.4</version>
    </dependency>
</dependencies>

Excel から標準およびカスタムの文書プロパティを読み取る

標準的な文書プロパティは、Excel ファイル内に既に用意されているプロパティです。これらのプロパティには、作成者、タイトル、サブタイトル、キーワーなど、ファイルに関する詳細な情報が含まれます。Excel のカスタム文書プロパティは、ユーザーが特定の要件に基じて定義できるものです。カスタム文書プロパティの値は、テキスト、日時、数値、あるいは単純に「はい」か「いいえ」という形式で割り当てることができます。

次の手順は、Spire.XLS for Java を使用して Excel ファイルの標準的な文書プロパティとカスタム文書プロパティを読み取る方法を示しています。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.loadFromFile() メソッドを使用して、 Excel ファイルをロードします。
  • StringBuilder クラスのインスタンスを初期化して、標準の文書プロパティとカスタム の文書プロパティを格納します。
  • Workbook.getDocumentProperties() メソッドを使用して、ファイルのすべての標準の文書プロパティのコレクションを取得します。
  • BuiltInDocumentProperties クラスの対応するメソッドを使用して、特定の標準の文書プロパティを取得します。
  • 標準の文書プロパティを StringBuilder インスタンスに追加します。
  • Workbook.getCustomDocumentProperties() メソッドを使用して、ファイルのすべてのカスタム の文書プロパティのコレクションを取得します。
  • コレクションをループします。
  • IDocumentProperty.getName() メソッドと IDocumentProperty.getValue() メソッドを使用して、各カスタムプロパティの名前と値を取得し、StringBuilder インスタンスに追加します。
  • StringBuilder インスタンスの内容をテキスト ファイルに書き込みます。
  • Java
import com.spire.xls.Workbook;
import com.spire.xls.collections.BuiltInDocumentProperties;
import com.spire.xls.core.ICustomDocumentProperties;

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

public class ReadStandardDocumentProperties {
    public static void main(String[] args) throws IOException {

        //Workbook クラスのインスタンスを初期化する
        Workbook workbook = new Workbook();

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

        //StringBuilder クラスのインスタンスを初期化する
        StringBuilder sb = new StringBuilder();

        //すべての標準の文書プロパティのコレクションを取得する
        BuiltInDocumentProperties standardProperties = workbook.getDocumentProperties();

        //特定の標準の文書プロパティを取得する
        String title = standardProperties.getTitle();
        String subject = standardProperties.getSubject();
        String author = standardProperties.getAuthor();
        String keywords = standardProperties.getKeywords();
        String manager = standardProperties.getManager();
        String company = standardProperties.getCompany();
        String category = standardProperties.getCategory();
        String comments = standardProperties.getComments();

        //標準の文書プロパティを StringBuilder インスタンスに追加する
        sb.append("標準の文書プロパティ:"
                +"\r\nタイトル: " + title
                + "\r\nサブタイトル: " + subject
                + "\r\n作成者: " + author
                + "\r\nキーワード: "+ keywords
                + "\r\n管理者: " + manager.toString()
                + "\r\n会社名: " + company.toString()
                + "\r\n分類: " + category.toString()
                + "\r\nコメント: " + comments.toString()
        );

        sb.append("\r\n\nカスタムの文書プロパティ:");

        //すべてのカスタムの文書 プロパティのコレクションを取得する
        ICustomDocumentProperties customProperties = workbook.getCustomDocumentProperties();

        //コレクションをループする
        for(int i =0; i < customProperties.getCount(); i++)
        {

            //各カスタムの文書プロパティの名前と値を StringBuilder インスタンスに追加する
            sb.append("\r\n" + customProperties.get(i).getName() + ": " + customProperties.get(i).getValue());
        }
        
        //StringBuilder の内容をテキスト ファイルに書き込む
        String output = "ReadDocumentProperties.txt";
        FileWriter fw = new FileWriter(output, true);
        BufferedWriter bw = new BufferedWriter(fw);
        bw.append(sb);
        bw.close();
        fw.close();
        workbook.dispose();
    }
}

Java:Excel から文書プロパティを読み取りまたは削除する方法

Excel から標準およびカスタムの文書プロパティを削除する

標準の文書プロパティの値を空に設定することで、Excel ファイルから標準の文書 プロパティを簡単に削除できます。カスタム 文書プロパティの場合は、ICustomDocumentProperties.remove() メソッドを使用して削除できます。

次の手順は、Spire.XLS for Java を使用して Excel ファイルから標準の文書プロパティとカスタムの文書プロパティを削除する方法を示しています。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.loadFromFile() メソッドを使用して Excel ファイルをロードします。
  • Workbook.getDocumentProperties() メソッドを使用して、すべての標準の文書プロパティのコレクションを取得します。
  • BuiltInDocumentProperties クラスの対応するメソッドを使用して、特定の標準の文書プロパティの値を空に設定します。
  • Workbook.getCustomDocumentProperties() メソッドを使用して、すべてのカスタム 文書プロパティのコレクションを取得します。
  • コレクションをループします。
  • ICustomDocumentProperties.remove() メソッドを使用して、コレクションから各カスタムの文書プロパティを削除します。
  • Workbook.saveToFile() メソッドを使用して結果ファイルを保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.collections.BuiltInDocumentProperties;
import com.spire.xls.core.ICustomDocumentProperties;

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

        //Workbook クラスのインスタンスを初期化する
        Workbook workbook = new Workbook();

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

        //すべての標準の文書プロパティのコレクションを取得する
        BuiltInDocumentProperties standardProperties = workbook.getDocumentProperties();

        //各標準な文書プロパティの値を空に設定する
        standardProperties.setTitle("");
        standardProperties.setSubject("");
        standardProperties.setAuthor("");
        standardProperties.setManager("");
        standardProperties.setCompany("");
        standardProperties.setCategory("");
        standardProperties.setKeywords("");
        standardProperties.setComments("");

        //すべてのカスタム の文書プロパティのコレクションを取得する
        ICustomDocumentProperties customProperties = workbook.getCustomDocumentProperties();

        //コレクションをループする
        for(int i = customProperties.getCount() - 1; i >= 0; i--)
        {

            //名前でコレクションから各カスタムの文書プロパティを削除する
            customProperties.remove(customProperties.get(i).getName());
        }

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

Java:Excel から文書プロパティを読み取りまたは削除する方法

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

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