ワークブックの圧縮レベルを調整する
Contents
[
Hide
]
ワークブックの圧縮レベルを調整
開発者は、大きなワークブックを扱う際に、ワークブックの圧縮レベルを調整することができます。開発者は、ファイルサイズを処理時間よりも優先することもできます。Aspose.Cellsは、ワークブックの圧縮レベルを設定するために使用できるOoxmlCompressionType列挙型を提供します。OoxmlCompressionType列挙型には、次のメンバーが含まれています。
- LEVEL_1:最速ですが、最も効果が低い圧縮です。
- LEVEL_2:レベル1よりも少し遅く、より良い圧縮です。
- LEVEL_3:レベル2よりも少し遅く、より良い圧縮です。
- LEVEL_4:レベル3よりも少し遅く、より良い圧縮です。
- LEVEL_5:レベル4よりも少し遅く、より良い圧縮です。
- LEVEL_6:速度と圧縮効率の良いバランスです。
- LEVEL_7:かなり良い圧縮です!
- LEVEL_8:Level7よりもより良い圧縮です。
- LEVEL_9:最も「良い」圧縮であり、最小の入力データストリームのサイズを最も減少させることを指します。これはまた、最も遅い圧縮です。
下記のコードスニペットでは、OoxmlCompressionType列挙型の使用を示し、LEVEL_1、LEVEL_6、およびLEVEL_9の変換時間を比較します。生成されたファイルのサイズを比較することもできます。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the directories. | |
String sourceDir = Utils.Get_SourceDirectory(); | |
String outDir = Utils.Get_OutputDirectory(); | |
Workbook workbook = new Workbook(sourceDir + "LargeSampleFile.xlsx"); | |
XlsbSaveOptions options = new XlsbSaveOptions(); | |
options.setCompressionType(OoxmlCompressionType.LEVEL_1); | |
long startTime = System.nanoTime(); | |
workbook.save(outDir + "LargeSampleFile_level_1_out.xlsb", options); | |
long endTime = System.nanoTime(); | |
long timeElapsed = endTime - startTime; | |
System.out.println("Level 1 Elapsed Time: " + timeElapsed / 1000000); | |
startTime = System.nanoTime(); | |
options.setCompressionType(OoxmlCompressionType.LEVEL_6); | |
workbook.save(outDir + "LargeSampleFile_level_6_out.xlsb", options); | |
endTime = System.nanoTime(); | |
timeElapsed = endTime - startTime; | |
System.out.println("Level 6 Elapsed Time: " + timeElapsed / 1000000); | |
startTime = System.nanoTime(); | |
options.setCompressionType(OoxmlCompressionType.LEVEL_9); | |
workbook.save(outDir + "LargeSampleFile_level_9_out.xlsb", options); | |
endTime = System.nanoTime(); | |
timeElapsed = endTime - startTime; | |
System.out.println("Level 9 Elapsed Time: " + timeElapsed / 1000000); |