ExcelReportFromTemplate::array2variant
X++:
static ComVariant array2variant(Array _array)
{
Integer idx;
array arr = new array (types::class);
;
if (_array)
{
for (idx=1; idx <= _array.lastIndex(); idx++)
{
arr.value(idx, ExcelReportFromTemplate::createVariantFromValue(_array.value(idx)));
}
return ComVariant::createFromArray(arr);
}
return ComVariant::createNoValue();
}
ExcelReportFromTemplate::createVariantFromValue
X++:
private static ComVariant createVariantFromValue(anytype _value)
{
str value;
;
switch (typeof(_value))
{
case Types::String :
case Types::RString :
case Types::VarString :
return ComVariant::createFromStr(_value);
case Types::Enum :
return ComVariant::createFromStr(enum2Value(_value));
case Types::Integer :
return ComVariant::createFromInt(_value);
case Types::Real :
return ComVariant::createFromReal(_value);
case Types::Date :
case Types::DateTime :
return ComVariant::createFromDate(_value);
case Types::Real :
return ComVariant::createFromReal(_value);
}
return ComVariant::createNoValue();
}