Estensioni Web Componenti aggiuntivi Office con JavaScript tramite C++
Le estensioni Web estendono le applicazioni di Office e interagiscono con i contenuti nei documenti di Office. Le estensioni Web aggiungono funzionalità aggiuntive al client di Office per migliorare l’esperienza dell’utente e la produttività.
Aspose.Cells fornisce anche la capacità di lavorare con le estensioni Web.
Aggiungi estensione Web
Puoi aggiungere Web Extensions (Office Add-in) in Excel cliccando sulla scheda Inserisci e poi cliccando sul collegamento Store/Ottieni componenti aggiuntivi. Nella casella dei componenti aggiuntivi, cerca l’addin desiderato e aggiungilo.
Aspose.Cells offre anche la funzione di aggiungere Web Extensions utilizzando le classi WebExtension e WebExtensionTaskPane. Il seguente esempio di codice dimostra l’uso delle classi WebExtension e WebExtensionTaskPane per aggiungere un’estensione web a un file Excel. Si prega di consultare il file Excel di output generato dal codice come riferimento.
Codice di Esempio
<!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>
Accesso alle informazioni sull’estensione Web
Aspose.Cells fornisce la possibilità di accedere alle informazioni delle Web Extensions in un file Excel. Il seguente esempio di codice dimostra come accedere alle informazioni delle Web Extensions caricando il file Excel di esempio. Si prega di consultare l’output della console generato dal codice come riferimento.
Codice di Esempio
<!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>
Output della console
Width: 350
IsVisible: True
IsLocked: False
DockState: right
StoreName: en-US
StoreType: OMEX
WebExtension.Id: 95D7ECE8-1355-492B-B6BF-27D25D0B0EEF