Extensions Web Compléments Office avec JavaScript via C++
Les extensions Web étendent les applications Office et interagissent avec le contenu des documents Office. Les extensions Web ajoutent des fonctionnalités supplémentaires au client Office pour améliorer l’expérience utilisateur et la productivité.
Aspose.Cells offre également la possibilité de travailler avec des extensions Web.
Ajouter une extension Web
Vous pouvez ajouter des extensions Web (compléments Office) dans Excel en cliquant sur l’onglet Insertion puis en cliquant sur le lien Store/Obtenir des compléments. Dans la boîte de dialogue Add-ins, recherchez le complément souhaité et ajoutez-le.
Aspose.Cells offre également la fonctionnalité d’ajouter des extensions Web en utilisant les classes WebExtension et WebExtensionTaskPane. L’exemple de code suivant montre comment utiliser les classes WebExtension et WebExtensionTaskPane pour ajouter une extension Web à un fichier Excel. Veuillez consulter le fichier Excel de sortie généré par le code pour référence.
Code d’exemple
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Add Web Extension Example</title>
</head>
<body>
<h1>Add Web Extension 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, WebExtensionStoreType, 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');
// Create a new workbook or load from selected file
let workbook;
if (fileInput.files.length) {
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
workbook = new Workbook(new Uint8Array(arrayBuffer));
} else {
workbook = new Workbook();
}
// Access web extensions and task panes collections from worksheets
const extensions = workbook.worksheets.webExtensions;
const taskPanes = workbook.worksheets.webExtensionTaskPanes;
// Add new web extension and task pane
const extensionIndex = extensions.add();
const taskPaneIndex = taskPanes.add();
// Configure the extension reference
const extension = extensions.get(extensionIndex);
extension.reference.id = "wa104379955";
extension.reference.storeName = "en-US";
extension.reference.storeType = WebExtensionStoreType.OMEX;
// Configure the task pane
const taskPane = taskPanes.get(taskPaneIndex);
taskPane.isVisible = true;
taskPane.dockState = "right";
taskPane.webExtension = extension;
// Save the workbook 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 = 'AddWebExtension_Out.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Web extension and task pane added successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>
Accéder aux informations sur l’extension Web
Aspose.Cells permet d’accéder aux informations des extensions Web dans un fichier Excel. L’exemple de code ci-dessous montre comment accéder aux informations des extensions Web en chargeant le fichier Excel d’exemple. Veuillez consulter la sortie console générée par le code pour référence.
Code d’exemple
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Web Extensions Task Panes Example</title>
</head>
<body>
<h1>Web Extensions Task Panes 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, Worksheet, Cell, 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 using the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Accessing web extension task panes collection
const taskPanes = workbook.worksheets.webExtensionTaskPanes;
const lines = [];
for (let i = 0; i < taskPanes.count; i++) {
const taskPane = taskPanes.get(i);
lines.push("Width: " + taskPane.width);
lines.push("IsVisible: " + taskPane.isVisible);
lines.push("IsLocked: " + taskPane.isLocked);
lines.push("DockState: " + taskPane.dockState);
const webExt = taskPane.webExtension;
const reference = webExt.reference;
lines.push("StoreName: " + reference.storeName);
lines.push("StoreType: " + reference.storeType);
lines.push("WebExtension.Id: " + webExt.id);
lines.push("---------------------------------");
}
document.getElementById('result').innerHTML = '<pre>' + lines.join("\n") + '</pre>';
});
</script>
</html>
Sortie console
Width: 350
IsVisible: True
IsLocked: False
DockState: right
StoreName: en-US
StoreType: OMEX
WebExtension.Id: 95D7ECE8-1355-492B-B6BF-27D25D0B0EEF