Web扩展 使用C++的Office加载项
Contents
[
Hide
]
Web扩展扩展Office应用程序并与Office文档中的内容交互。Web扩展为Office客户端添加额外功能,以改善用户体验和生产力。
Aspose.Cells还提供了与Web扩展配合使用的功能。
添加Web扩展
可以通过点击 插入 标签,然后点击 商店/获取加载项 链接,在Excel中添加Web扩展(Office加载项)。在加载项框中浏览你想要的加载项并添加它。
Aspose.Cells 还提供了使用 WebExtension 和 WebExtensionTaskPane 类添加Web扩展的功能。以下代码演示了如何用 WebExtension 和 WebExtensionTaskPane 类为Excel文件添加Web扩展。请参阅由代码生成的 输出Excel文件。
示例代码
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create a new workbook
Workbook workbook;
// Get the WebExtension collection from the workbook's worksheets
WebExtensionCollection extensions = workbook.GetWorksheets().GetWebExtensions();
WebExtensionTaskPaneCollection taskPanes = workbook.GetWorksheets().GetWebExtensionTaskPanes();
// Add a new WebExtension and WebExtensionTaskPane
int32_t extensionIndex = extensions.Add();
int32_t taskPaneIndex = taskPanes.Add();
// Get the newly added WebExtension and configure it
WebExtension extension = extensions.Get(extensionIndex);
extension.GetReference().SetId(u"wa104379955");
extension.GetReference().SetStoreName(u"en-US");
extension.GetReference().SetStoreType(WebExtensionStoreType::OMEX);
// Get the newly added WebExtensionTaskPane and configure it
WebExtensionTaskPane taskPane = taskPanes.Get(taskPaneIndex);
taskPane.SetIsVisible(true);
taskPane.SetDockState(u"right");
taskPane.SetWebExtension(extension);
// Save the workbook with the added WebExtension
workbook.Save(outDir + u"AddWebExtension_Out.xlsx");
std::cout << "WebExtension added successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
访问Web扩展信息
Aspose.Cells 提供了访问Excel文件中Web扩展信息的能力。以下示例展示了如何加载 示例Excel文件 来访问Web扩展信息。请查看代码生成的控制台输出。
示例代码
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Load sample Excel file
Workbook workbook(srcDir + u"WebExtensionsSample.xlsx");
// Get the collection of web extension task panes
WebExtensionTaskPaneCollection taskPanes = workbook.GetWorksheets().GetWebExtensionTaskPanes();
// Iterate through each task pane and print its properties
for (int i = 0; i < taskPanes.GetCount(); ++i)
{
WebExtensionTaskPane taskPane = taskPanes.Get(i);
std::cout << "Width: " << taskPane.GetWidth() << std::endl;
std::cout << "IsVisible: " << taskPane.IsVisible() << std::endl;
std::cout << "IsLocked: " << taskPane.IsLocked() << std::endl;
std::cout << "DockState: " << taskPane.GetDockState().ToUtf8() << std::endl;
std::cout << "StoreName: " << taskPane.GetWebExtension().GetReference().GetStoreName().ToUtf8() << std::endl;
std::cout << "WebExtension.Id: " << taskPane.GetWebExtension().GetId().ToUtf8() << std::endl;
}
Aspose::Cells::Cleanup();
return 0;
}
控制台输出
Width: 350
IsVisible: True
IsLocked: False
DockState: right
StoreName: en-US
StoreType: OMEX
WebExtension.Id: 95D7ECE8-1355-492B-B6BF-27D25D0B0EEF