Actualiser automatiquement l’objet OLE via Microsoft Excel en utilisant Aspose.Cells for JavaScript via C++
Contents
[
Hide
]
Aspose.Cells propose la propriété OleObject.autoLoad pour rafraîchir l’objet OLE lorsque le fichier Excel est ouvert dans Microsoft Excel. Grâce à cette propriété, l’objet OLE affichera l’image OLE correcte générée par Microsoft Excel.
Le code d’exemple suivant charge le fichier Excel d’exemple qui contient une image OLE non réelle. L’objet OLE est en fait un document Microsoft Word mais le fichier Excel d’exemple affiche l’image d’animal au lieu de l’image de Microsoft Word. Mais si vous ouvrez le fichier Excel de sortie, vous verrez que Microsoft Excel affiche l’image OLE correcte.
<!DOCTYPE html>
<html>
<head>
<title>Refresh OLE Objects Example</title>
</head>
<body>
<h1>Refresh OLE Objects Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, 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');
if (!fileInput.files.length) {
document.getElementById('result').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 from the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Access first worksheet
const sheet = workbook.worksheets.get(0);
// Set auto load property of first ole object to true
sheet.oleObjects.get(0).autoLoad = true;
// Save the workbook in xlsx format and provide download link
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'RefreshOLEObjects_out.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">OLE object autoLoad set to true. Click the download link to get the modified file.</p>';
});
</script>
</html>