Цитата:
Сообщение от
Delfins
Посмотрите класс ComExcelDocument_RU
1. Необходимо уточнить, что смотреть можно, начиная с версии Ax 3.0
SP4. Там действительно в этом классе появляются несколько методов, посвященных именно ИМПОРТУ из Excel. В SP3 про импорт еще "ни слова".
2. Не думаю, что методы эти устроят
olesh : _comRange.text() (см. ниже) возвращает содержательный "текст" только для диапазона, состоящего из одной ячейки, например, для A1. Для диапазона из нескольких ячеек, например, для A1:E1 вернется НЕ Null только тогда, когда все ячейки диапазона будут иметь одно и то же неНулл-значение. И вернется, конечно же, как видно из кода ниже, только одно значение (никакой не массив).
Цитата:
Сообщение от
ComExcelDocument_RU (Ax 3.0 SP4)
Код:
protected anyType GetValueFromRange(COM _comRange)
{
//anyType _anyType;
str _anyType;
_anyType = this.convertVariant2Str(_comRange.text());
return _anyType;
}
str convertVariant2Str(COMVariant cv)
{
str retVal;
switch (cv.variantType())
{
case COMVariantType::VT_BSTR:
retVal = cv.bStr();
break;
case COMVariantType::VT_R8:
retVal = num2str(cv.double(),-1,-1,-1,-1);
break;
case COMVariantType::VT_DATE:
retval = date2str(cv.date(), -1, -1, -1, -1, -1, 4); //Year as 4 digits
break;
case COMVariantType::VT_EMPTY:
retVal = '';
break;
default:
error("@SYS59922");
throw Exception::Error;
}
return retVal;
}