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