ワークブックの圧縮レベルを調整する
Contents
[
Hide
]
ワークブックの圧縮レベルを調整する
開発者は、より大きなワークブックを扱うときに、ファイルサイズよりも処理時間を優先するか、その逆を優先するかもしれません。Aspose.Cellsは、ワークブックの圧縮レベルを設定するために使用できるOoxmlCompressionType列挙型を提供します。 OoxmlCompressionType列挙型は、次のメンバーを提供します。
- レベル1:最も速くて効果の低い圧縮。
- レベル2:レベル1よりもやや遅いが、より優れています。
- レベル3:レベル2よりもやや遅いが、より優れています。
- レベル4:レベル3よりもやや遅いが、より優れています。
- レベル5:レベル4よりもやや遅く、より効果的な圧縮。
- レベル6:速度と圧縮効率の良いバランス。
- レベル7:かなり良い圧縮!
- レベル8:レベル7よりも優れた圧縮!
- レベル9:“ベスト"の圧縮、ベストは入力データストリームのサイズを最も減らすことを意味します。これは最も遅い圧縮でもあります。
次のコードスニペットは、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); |