EBDN - Community - Question & Answers

  Monday, 09 February 2026
  0 Replies
  400 Visits
0
Votes
Undo
Hello,
We're developing a .net plugin from which we export worksheets with worksheet.Export(WorksheetExportBehavior.AutomatedXls, outputPath);

For extended worksheet export, Excel sheet tab name should match the worksheet configuration name example: Wires, Devices.
Exported Excel tab name is not the desired worksheet name unless we rename afterward via Excel Interop, initially is generated with Unknown.


In our flow, we first open by configured worksheet name (identifier), then for extended export we reopen via the ObjectKind + behavior + attributes overload.
We want to confirm whether this second call is guaranteed to open the same worksheet definition/name as the first one.

// discovery
using (var ws = folder.OpenWorksheet(configuredName, false))
{
// we store identifier from config, and ws.Name as display/original
node.Identifier = configuredName;
node.OriginalName = ws.Name;
}

// extended open for export
Worksheet temp = folder.OpenWorksheet(identifier, false);
// collect kind/columns from temp...
var behavior = WorksheetOpenBehavior.StructDeep | WorksheetOpenBehavior.OnlyNestedInStartItem;
return folder.OpenWorksheet(secondKind.Value, behavior, attributes);
Questions:

Is OpenWorksheet(ObjectKind, WorksheetOpenBehavior, IList<AttributeId>) guaranteed to refer to the same worksheet as OpenWorksheet(identifier, false)?
Can ws.Name differ from identifier (e.g., localized/display name vs internal name)?
If we must preserve the exact configured worksheet name, which overload is recommended for deep/structured opening?
Is there a supported way to open by worksheet name/identifier and apply deep behavior in one call?