ワークブックの圧縮レベルを調整する

ワークブックの圧縮レベルを調整

開発者は、大きなワークブックを扱う際に、ワークブックの圧縮レベルを調整することができます。開発者は、ファイルサイズを処理時間よりも優先することもできます。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_1LEVEL_6、およびLEVEL_9の変換時間を比較します。生成されたファイルのサイズを比較することもできます。

// 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);