チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
Spire.DocViewer 8.7.8のリリースを発表できることを嬉しく思います。このバージョンでは、WPF および MAUI プラットフォームのサポートが追加されています。詳細は以下の内容を読んでください。
カテゴリー | 説明 |
New feature | WPF および Windows フォームを含む .NET 6.0 をサポートします。 |
New feature | MAUI プラットフォーム (.NET 7.0) をサポートしていますが、現在は Windows と Android のみを対象としています。 |
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.XLS for Java を使用して、Excel で円グラフまたはドーナツグラフを作成する方法を示します。
まず、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>
Spire.XLS for Java が提供する Worksheet.getCharts().add(ExcelChartType.Pie) メソッドは、ワークシートへに円グラフの追加をサポートしています。詳細な手順は次のとおりです。
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();
}
}
Spire.XLS for Java が提供する Worksheet.getCharts().add(ExcelChartType.Doughnut) メソッドは、ワークシートへにドーナツグラフの追加をサポートしています。詳細な手順は次のとおりです。
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();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel ワークシートを操作していると、セル内のテキストが長すぎて一部が隠れてしまうという状況に遭遇することがある。このような場合、テキストを折り返して、すべて見えるようにすることができます。この記事では、Spire.XLS for Java を使用して、Excel セル内のテキストの折り返しまたは折り返し解除方法を示します。
まず、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>
Spire.XLS for Java は、IStyle インターフェイスによって提供される setWrapText() メソッドを使用した Excel セル内のテキストの折り返しまたは折り返し解除をサポートします。 以下に詳細な手順を示します。
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();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Spire.XLS for Java 14.3.0 のリリースをお知らせいたします。このバージョンでは、元の Spire.XLS for Java 製品に XLSAI 機能が追加されています。 AI モデルにリクエストを送信することで、AI による文書計算、範囲結合、画像生成、ファイルアップロード、質問、翻訳などの機能を実現できます。 詳細は以下の内容を読んでください。
機能 | 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.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.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.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); |
画像は、さまざまな Web プラットフォームやドキュメントに埋め込んで表示できる、広くサポートされている形式です。 Excel グラフを Web サイトで公開する場合、または Excel グラフをビデオやプレゼンテーションに組み込む場合、画像に変換することは優れたオプションです。 これにより、互換性の問題がなくなり、他のユーザーが図に正常にアクセスできるようになります。この記事では、Spire.XLS for Java を使用して Excel グラフを画像に変換する方法を示します。
まず、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>
Spire.XLS for Java には、ワークシート内の特定のグラフを画像として変換するための Workbook.saveChartAsImage(Worksheet worksheet, int chartIndex) メソッドが用意されています。詳細な手順は次のとおりです。
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();
}
}
ワークシート内のすべてのグラフを画像に変換するには、Workbook.saveChartAsImage(Worksheet worksheet) メソッドを使用してください。詳細な手順は次のとおりです。
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();
}
}
Excel のグラフ シートは、グラフの表示専用の別のシートです。Workbook.saveChartAsImage(ChartSheet chartSheet) メソッドを使用して、Excel でグラフ シートを画像に変換できます。詳細な手順は次のとおりです。
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();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel の文書プロパティは、ワークブックに関する追加情報を提供する重要なメタデータです。複数のワークブックを管理しており、作者、タイトルなどの情報を追跡したい場合に、これらの文書プロパティを読み取ることで迅速に情報を集めることができます。また、特定の状況では、Excel から文書プロパティを削除する必要が出てきます。例えば、機密データが文書プロパティに誤って保存されている場合、共有する前にこれらの文書プロパティを削除することで、データの安全と秘密保持を保証する必要があります。この記事では、Spire.XLS for Java を使用して、Excel から文書プロパティを読み取りまたは削除する方法を示します。
まず、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 のカスタム文書プロパティは、ユーザーが特定の要件に基じて定義できるものです。カスタム文書プロパティの値は、テキスト、日時、数値、あるいは単純に「はい」か「いいえ」という形式で割り当てることができます。
次の手順は、Spire.XLS for Java を使用して Excel ファイルの標準的な文書プロパティとカスタム文書プロパティを読み取る方法を示しています。
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();
}
}
標準の文書プロパティの値を空に設定することで、Excel ファイルから標準の文書 プロパティを簡単に削除できます。カスタム 文書プロパティの場合は、ICustomDocumentProperties.remove() メソッドを使用して削除できます。
次の手順は、Spire.XLS for Java を使用して Excel ファイルから標準の文書プロパティとカスタムの文書プロパティを削除する方法を示しています。
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();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。