Einstellen des Arbeitsmappenkompressionsniveaus

Anpassen des Arbeitsmappe-Komprimierungsgrads

Entwickler können den Kompressionsgrad der Arbeitsmappe anpassen, wenn sie mit größeren Arbeitsmappen arbeiten. Entwickler können kleinere Dateigrößen über die Verarbeitungszeit oder umgekehrt priorisieren. Aspose.Cells bietet die OoxmlCompressionType-Enumeration, die Sie verwenden können, um den Kompressionsgrad der Arbeitsmappe festzulegen. Die OoxmlCompressionType-Enumeration bietet die folgenden Elemente.

  • LEVEL_1: Die schnellste, aber am wenigsten effektive Kompression.
  • LEVEL_2: Etwas langsamer, aber besser als Level 1.
  • LEVEL_3: Etwas langsamer, aber besser als Level 2.
  • LEVEL_4: Etwas langsamer, aber besser als Level 3.
  • LEVEL_5: Etwas langsamer als Level 4, aber mit besserer Kompression.
  • LEVEL_6: Ein gutes Gleichgewicht zwischen Geschwindigkeit und Kompressionswirkungsgrad.
  • LEVEL_7: Ziemlich gute Kompression!
  • LEVEL_8: Bessere Kompression als Level7!
  • LEVEL_9: Die “beste” Kompression, wobei best bedeutet, dass die Größe des Eingabedatenstroms am stärksten reduziert wird. Dies ist auch die langsamste Kompression.

Der folgende Codeausschnitt zeigt die Verwendung der OoxmlCompressionType-Enumeration und vergleicht die Konvertierungszeit für LEVEL_1, LEVEL_6 und LEVEL_9. Sie können auch die Größen der generierten Dateien vergleichen.

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