Aspose.Cells 8.9.1のPublic API変更
APIの追加
設定可能なフォントソース
Aspose.Cells for Javaは、スプレッドシートのレンダリングに設定可能なフォントソースを提供するためのいくつかのクラスを公開しました。以下に、Aspose.Cells for Java 8.9.1で追加されたクラスのリストがあります。
- FontConfigsクラスはフォント設定を指定します。
- FontSourceBaseクラスは、ユーザーがさまざまなフォントソースを指定できるクラスの抽象基本クラスです。
- FileFontSourceクラスは、ファイルシステムに保存されている単一のTrueTypeフォントファイルを表します。
- FolderFontSourceクラスは、TrueTypeフォントファイルが含まれているフォルダを表します。
- MemoryFontSourceクラスは、メモリに保存されている単一のTrueTypeフォントファイルを表します。
- FontSourceType列挙型は、フォントソースのタイプを指定します。
上記の変更が適用されると、Aspose.Cells for Javaでは以下のようにフォントを設定することができます。
- FontConfigs.setFontFolderメソッドを使用してカスタムフォントフォルダを1つ設定します。
- FontConfigs.setFontFoldersメソッドを使用して複数のカスタムフォントフォルダを設定します。
- FontConfigs.setFontSourcesメソッドを使用してカスタムフォントフォルダ、単一のフォントファイルやバイト配列からのフォントデータを設定します。
上記のメソッドのシンプルな使用シナリオは次のとおりです。
Java
//Defining string variables to store paths to font folders & font file
String fontFolder1 = "D:/Arial";
String fontFolder2 = "D:/Calibri";
String fontFile = "D:/Arial/arial.ttf";
//Setting first font folder with setFontFolder method
//Second parameter directs the API to search the sub folders for font files
FontConfigs.setFontFolder(fontFolder1, true);
//Setting both font folders with setFontFolders method
//Second parameter prohibits the API to search the sub folders for font files
FontConfigs.setFontFolders(new String[] { fontFolder1, fontFolder2 }, false);
//Defining FolderFontSource
FolderFontSource sourceFolder = new FolderFontSource(fontFolder1, false);
//Defining FileFontSource
FileFontSource sourceFile = new FileFontSource(fontFile);
//Defining MemoryFontSource
byte[] bytes = Files.readAllBytes(new File(fontFile).toPath());
MemoryFontSource sourceMemory = new MemoryFontSource(bytes);
//Setting font sources
FontConfigs.setFontSources(new FontSourceBase[] { sourceFolder, sourceFile, sourceMemory});
Aspose.Cells for Javaは、フォント置換を設定することも可能であります。これは、変換を行う必要のあるマシンで必要なフォントが利用できない場合に役立ちます。ユーザーは、元のフォント名の代替としてフォント名のリストを提供することができます。Aspose.Cells APIが公開したFontConfigs.setFontSubstitutesメソッドは、2つのパラメーターを受け入れます。1つ目のパラメーターは文字列型で、代替する必要があるフォント名になり、2番目のパラメーターは文字列型の配列です。ユーザーは、元のフォント名(1番目のパラメーターで指定)の代わりに提供するフォント名のリストを指定できます。
FontConfigs.SetFontSubstitutesメソッドのシンプルな使用シナリオは次のとおりです。
Java
//Substituting the Arial font with Times New Roman & Calibri
FontConfigs.setFontSubstitutes("Arial", new String[] { "Times New Roman", "Calibri" });
Aspose.Cells for Javaは、設定されたソースと代替の情報を収集する手段も提供しています。
- FontConfigs.getFontSourcesメソッドは、指定されたフォントソースのリストを含むFontSourceBase型の配列を返します。ソースが設定されていない場合、FontConfigs.getFontSourcesメソッドは空の配列を返します。
- FontConfigs.getFontSubstitutesメソッドは、フォント置換が設定されているフォント名を指定するstring型のパラメーターを受け入れます。指定されたフォント名に対して置換が設定されていない場合、FontConfigs.getFontSubstitutesメソッドはnullを返します。
IFilePathProviderインタフェースとHtmlSaveOptions.FilePathProviderプロパティを追加しました
Aspose.Cells for Java 8.9.1では、ワークシートを個別のHTMLファイルにエクスポートするためのIFilePathProviderを取得/設定することができます。これらの新しいAPIは、1つのワークシートのハイパーリンクが別のワークシートの場所を指す場合や、アプリケーション要件が各ワークシートを個別のHTMLファイルにレンダリングする場合に役立ちます。IFilePathProviderを実装することで、前述のハイパーリンクが別の結果として得られるHTMLファイル内の場所を指していても、これらのハイパーリンクをそのまま保持することができます。
HtmlSaveOptions.FilePathProviderプロパティのシンプルな使用シナリオは次のとおりです。
Java
//Load a spreadsheet in an instance of Workbook
Workbook book = new Workbook(dir + "sample.xlsx");
//Save each Worksheet to separate HTML file
for (int i = 0; i < book.getWorksheets().getCount(); i++)
{
book.getWorksheets().setActiveSheetIndex(i);
//Create an instance of HtmlSaveOptions & set FilePathProvider property
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExportActiveWorksheetOnly(true);
options.setFilePathProvider(new IFilePathProvider()
{
public String getFullName(String sheetName)
{
if ("Sheet2".equals(sheetName))
{
return "sheet1.html";
}
else if ("Sheet3".equals(sheetName))
{
return "sheet2.html";
}
return "";
}
});
//Write HTML file to disc
book.save(dir + "sheet"+ i +".html", options);
}
CopyOptions.ReferToDestinationSheetプロパティとCells.copyRowsメソッドのオーバーロードを追加しました
Aspose.Cells for Java API は、Boolean 型の CopyOptions.ReferToDestinationSheet プロパティを公開しており、Cells.copyRows メソッドのオーバーロードも含まれているため、コピーする行にチャートとそのデータソースが含まれている場合の行のコピー操作を容易にすることができます。開発者はこれらの新しい API を使用して、チャートのデータソースをソースまたは宛先ワークシートに指示することができます。
以下はシンプルな使用シナリオです。
Java
//Load a sample spreadsheet in an instance of Workbook
Workbook book = new Workbook(dir + "sample.xlsx");
//Access the worksheet containing the chart & its data source
Worksheet source = book.getWorksheets().get(0);
//Add a new worksheet to the collection
Worksheet destination = book.getWorksheets().get(book.getWorksheets().add());
//Initialize CopyOptions and set its ReferToDestinationSheet property to true
CopyOptions options = new CopyOptions();
options.setReferToDestinationSheet(true);
//Copy the rows
destination.getCells().copyRows(source.getCells(), 0, 0, source.getCells().getMaxDisplayRange().getRowCount(), options);
//Save the result on disc
book.save(dir + "output.xlsx");
CalculationOptions.Recursive プロパティが追加されました
Aspose.Cells for Java 8.9.1 では、CalculationOptions.Recursive プロパティの Boolean 型を公開しています。CalculationOptions.Recursive プロパティを true に設定し、そのオブジェクトを Workbook.calculateFormula メソッドに渡すことで、Aspose.Cells API は他のセルに依存するセルの計算時に、再帰的に依存セルを計算するように指示されます。
以下はシンプルな使用シナリオです。
Java
//Load a sample spreadsheet in an instance of Workbook
Workbook book = new Workbook(dir + "sample.xlsx");
//Initialize CalculationOptions & set Recursive property to true
CalculationOptions options = new CalculationOptions();
options.setRecursive(true);
//Recalculate formulas
book.calculateFormula(options);
非推奨API
非推奨の CellsHelper.FontDir プロパティ
代わりに、FontConfigs.setFontFolder(String, boolean) メソッドを使用し、再帰を false に設定することを推奨します。
非推奨の CellsHelper.FontDirs プロパティ
代わりに、FontConfigs.setFontFolders(String[], boolean) メソッドを使用し、再帰を false に設定することを推奨します。
非推奨の CellsHelper.FontFiles プロパティ
代わりに、FontConfigs.setFontSources(FontSourceBase[]) メソッドを使用してください。