Workbookの圧縮レベルを調整する(Node.js経由のC++)で調整します。

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

開発者は、大きなワークブックを扱う際に圧縮レベルを調整できます。開発者は、処理時間よりもファイルサイズの縮小を優先する場合や、その逆も選択できます。Aspose.Cells for Node.js via C++は、ワークブックの圧縮レベルを設定するためのOoxmlCompressionType列挙体を提供します。OoxmlCompressionType列挙体には、次のメンバーが含まれます。

  • Level1:最速ですがあまり効果的でない圧縮。
  • Level2:少し遅くなりますが、Level1より優れています。
  • Level3:少し遅くなりますが、Level2より優れています。
  • Level4:少し遅くなりますが、Level3より優れています。
  • レベル5:レベル4よりもやや遅く、より効果的な圧縮。
  • レベル6:速度と圧縮効率の良いバランス。
  • Level7:かなり良い圧縮!
  • レベル8:レベル7よりも優れた圧縮!
  • Level9:「最良」の圧縮です。ここでの最良は入力データストリームのサイズを最も小さくすることを意味します。これはまた、最も遅い圧縮でもあります。

次のコードスニペットは、OoxmlCompressionType列挙型の使用を示し、Level1、Level6、Level9の変換時間を比較します。また、生成されたファイルのサイズを比較することもできます。

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// Source and output directories
const sourceDir = path.join(__dirname, "data");
const outDir = path.join(__dirname, "output");

const filePath = path.join(sourceDir, "LargeSampleFile.xlsx");
const workbook = new AsposeCells.Workbook(filePath);
const options = new AsposeCells.XlsbSaveOptions();

options.setCompressionType(AsposeCells.OoxmlCompressionType.Level1);
let watch = process.hrtime();
workbook.saveAsync(path.join(outDir, "LargeSampleFile_level_1_out.xlsb"), options);
let elapsedMs = process.hrtime(watch);
console.log("Level 1 Elapsed Time: " + (elapsedMs[0] * 1e3 + elapsedMs[1] / 1e6));

watch = process.hrtime();
options.setCompressionType(AsposeCells.OoxmlCompressionType.Level6);
workbook.saveAsync(path.join(outDir, "LargeSampleFile_level_6_out.xlsb"), options);
elapsedMs = process.hrtime(watch);
console.log("Level 6 Elapsed Time: " + (elapsedMs[0] * 1e3 + elapsedMs[1] / 1e6));

watch = process.hrtime();
options.setCompressionType(AsposeCells.OoxmlCompressionType.Level9);
workbook.saveAsync(path.join(outDir, "LargeSampleFile_level_9_out.xlsb"), options);
elapsedMs = process.hrtime(watch);
console.log("Level 9 Elapsed Time: " + (elapsedMs[0] * 1e3 + elapsedMs[1] / 1e6));