调整工作簿压缩级别
Contents
[
Hide
]
调整工作簿压缩级别
开发人员在处理较大的工作簿时可以调整工作簿的压缩级别。 开发人员可以优先考虑较小的文件大小,也可以优先考虑处理时间。 Aspose.Cells 提供了一个枚举 OoxmlCompressionType,您可以用它来设置工作簿的压缩级别。 OoxmlCompressionType 枚举提供以下成员。
- Level1:最快但效果最差的压缩。
- Level2:比级别1稍慢,但更好。
- Level3: 稍慢于级别2,但更好。
- Level4: 稍慢于级别3,但更好。
- Level5: 比级别4略慢,但压缩效果更好。
- Level6: 速度和压缩效率的良好平衡。
- Level7: 压缩效果相当不错!
- Level8: 比Level7压缩更好!
- Level9: “最佳"压缩,指的是数据流大小降低最多。也是最慢的压缩。
以下代码片段演示了使用 OoxmlCompressionType 枚举,并比较了 Level1、Level6 和 Level9 的转换时间。 您还可以比较生成文件的大小。
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-.NET | |
//Source directory | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
string outDir = RunExamples.Get_OutputDirectory(); | |
Workbook workbook = new Workbook(sourceDir + "LargeSampleFile.xlsx"); | |
XlsbSaveOptions options = new XlsbSaveOptions(); | |
options.CompressionType = OoxmlCompressionType.Level1; | |
var watch = System.Diagnostics.Stopwatch.StartNew(); | |
workbook.Save(outDir + "LargeSampleFile_level_1_out.xlsb", options); | |
watch.Stop(); | |
var elapsedMs = watch.ElapsedMilliseconds; | |
Console.WriteLine("Level 1 Elapsed Time: " + elapsedMs); | |
watch = System.Diagnostics.Stopwatch.StartNew(); | |
options.CompressionType = OoxmlCompressionType.Level6; | |
workbook.Save(outDir + "LargeSampleFile_level_6_out.xlsb", options); | |
watch.Stop(); | |
elapsedMs = watch.ElapsedMilliseconds; | |
Console.WriteLine("Level 6 Elapsed Time: " + elapsedMs); | |
watch = System.Diagnostics.Stopwatch.StartNew(); | |
options.CompressionType = OoxmlCompressionType.Level9; | |
workbook.Save(outDir + "LargeSampleFile_level_9_out.xlsb", options); | |
watch.Stop(); | |
elapsedMs = watch.ElapsedMilliseconds; | |
Console.WriteLine("Level 9 Elapsed Time: " + elapsedMs); |