![]() |
#3 |
Moderator
|
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; } |
|