Regola il livello di compressione del workbook con JavaScript tramite C++
Contents
[
Hide
]
Regola il Livello di Compressione del Foglio di Lavoro
Gli sviluppatori possono regolare il livello di compressione del workbook quando lavorano con file di grandi dimensioni. Gli sviluppatori possono privilegiare dimensioni dei file più piccole rispetto ai tempi di elaborazione o viceversa. Aspose.Cells for JavaScript tramite C++ fornisce l’enumerazione OoxmlCompressionType che puoi usare per impostare il livello di compressione del workbook. L’enumerazione OoxmlCompressionType fornisce i seguenti membri.
- Livello1: La compressione più veloce ma meno efficace.
- Livello2: Un po' più lenta, ma migliore, rispetto al livello 1.
- Livello3: Un po' più lenta, ma migliore, rispetto al livello 2.
- Livello4: Un po' più lenta, ma migliore, rispetto al livello 3.
- Livello5: Un po' più lento del livello 4, ma con una migliore compressione.
- Livello6: Un buon equilibrio tra velocità ed efficienza di compressione.
- Livello7: Compressione piuttosto buona!
- Livello8: Migliore compressione rispetto al Livello 7!
- Livello9: La “migliore” compressione, dove migliore significa la maggiore riduzione delle dimensioni del flusso di dati di input. È anche la compressione più lenta.
Il seguente frammento di codice mostra l’uso dell’enumerazione OoxmlCompressionType e confronta il tempo di conversione per Livello1, Livello6 e Livello9. Puoi anche confrontare le dimensioni dei file generati.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Save XLSB with Compression Levels</title>
</head>
<body>
<h1>Save XLSB with Different Compression Levels</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.xlsb" />
<button id="runExample">Run Example</button>
<div>
<a id="downloadLink1" style="display: none; margin-right:10px;"></a>
<a id="downloadLink2" style="display: none; margin-right:10px;"></a>
<a id="downloadLink3" style="display: none;"></a>
</div>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, XlsbSaveOptions, OoxmlCompressionType, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultDiv = document.getElementById('result');
const downloadLink1 = document.getElementById('downloadLink1');
const downloadLink2 = document.getElementById('downloadLink2');
const downloadLink3 = document.getElementById('downloadLink3');
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiating a Workbook object by opening the selected file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Create Xlsb save options
const options = new XlsbSaveOptions();
// Level 1
let start = performance.now();
options.compressionType = OoxmlCompressionType.Level1;
const outputData1 = workbook.save(SaveFormat.Xlsb, options);
let elapsedMs1 = performance.now() - start;
const blob1 = new Blob([outputData1]);
downloadLink1.href = URL.createObjectURL(blob1);
downloadLink1.download = 'LargeSampleFile_level_1_out.xlsb';
downloadLink1.style.display = 'inline-block';
downloadLink1.textContent = 'Download Level 1 XLSB';
// Level 6
start = performance.now();
options.compressionType = OoxmlCompressionType.Level6;
const outputData2 = workbook.save(SaveFormat.Xlsb, options);
let elapsedMs2 = performance.now() - start;
const blob2 = new Blob([outputData2]);
downloadLink2.href = URL.createObjectURL(blob2);
downloadLink2.download = 'LargeSampleFile_level_6_out.xlsb';
downloadLink2.style.display = 'inline-block';
downloadLink2.textContent = 'Download Level 6 XLSB';
// Level 9
start = performance.now();
options.compressionType = OoxmlCompressionType.Level9;
const outputData3 = workbook.save(SaveFormat.Xlsb, options);
let elapsedMs3 = performance.now() - start;
const blob3 = new Blob([outputData3]);
downloadLink3.href = URL.createObjectURL(blob3);
downloadLink3.download = 'LargeSampleFile_level_9_out.xlsb';
downloadLink3.style.display = 'inline-block';
downloadLink3.textContent = 'Download Level 9 XLSB';
resultDiv.innerHTML = `
<p style="color: green;">Operation completed successfully!</p>
<ul>
<li>Level 1 Elapsed Time: ${elapsedMs1.toFixed(2)} ms</li>
<li>Level 6 Elapsed Time: ${elapsedMs2.toFixed(2)} ms</li>
<li>Level 9 Elapsed Time: ${elapsedMs3.toFixed(2)} ms</li>
</ul>
`;
});
</script>
</html>