Form page implements Open in Microsoft office function
Firstly, form code needs to implement the interface as follows:
[Form]
public class form_class extends FormRun implements OfficeIMenuCustomizer, OfficeIGenerateWorkbookCustomExporter
{
...
}
Finally, override the codes as follows:
public void customizeMenuOptions(OfficeMenuOptions _menuOptions)
{
ListIterator dataEntityOptionsIterator = new ListIterator(_menuOptions.dataEntityOptions());
while (dataEntityOptionsIterator.more())
{
OfficeMenuDataEntityOptions dataEntityOptions = dataEntityOptionsIterator.value();
DictDataEntity dataEntity = new DictDataEntity(tablename2Id(dataEntityOptions.dataEntityName()));
if (dataEntity.formRef() == menuItemDisplayStr(form_class))
{
dataEntityOptionsIterator.delete();
}
else
{
dataEntityOptionsIterator.next();
}
}
var menuItem = OfficeGeneratedExportMenuItem::construct(tableStr(entity_name), tableStr(entity_name));
menuItem.displayName(strFmt("%1, (%2)", tablePName(entity_name), curExt()));
}
public ExportToExcelDataEntityContext getDataEntityContext(OfficeGeneratedExportMenuItem _menuItem)
{
ExportToExcelDataEntityContext context = ExportToExcelDataEntityContext::constructDefault(_menuItem.dataEntityName());
}