AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.03.2004, 18:33   #1  
AKIS is offline
AKIS
Учаснег
Аватар для AKIS
 
392 / 19 (1) ++
Регистрация: 18.08.2002
Адрес: За морями, за океанами
Чтение Excel-ячейки в Аксапте (2.5) через COM
Здравствуйте все!

Проблема у меня на сей раз такая.

Хочу читать ячейки Excel-листа и заносить их в базу данных в зависимости от того, что прочитал (т.е. прямой импорт из Excel-а не работает )

PHP код:
int numrow 2;
  
str 10 sLineNum;
;
  
ExApp COM::getObject("Excel.Application");
  If(!
ExApp)
   
ExApp = new COM("Excel.Application");
  
ExApp.Visible(False);
  
Wbs ExApp.Workbooks();
  
Wb  Wbs.Open(ExcelFileName);
  
Wss Wb.WorkSheets();
  
Ws Wss.Item(ExcelSheetName);
  while(
cont)
  {
   
// Line Number
   
Rng Ws.Range("A"+strltrim(strrtrim(num2str(numrow,5,0,0,0))));
   
sLineNum Rng.Value(); 
В результате все работает, но sLineNum оказывается пустым.
Пробовал туда писать (вызывать Value c аргументом) - все пишет прекрасно куда надо.
Пробовал присваивать значение Value переменной типа real - выдает ошибку типа.
Пробовал использовать Value2 вместо Value - ноль эмоций.
Пробовал послать все нах... - не посылается

С удовольствием приму конструктивные советы, а также указания на то, чего ж я-таки делаю неправильно.

Спасибо заранее!!!!
__________________
Strictly IMHO & nothing personal
Старый 25.03.2004, 19:22   #2  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Предположение
Может Rng.Value() возвращает COMVariant а не int и надо его как-то пребразовать?

А чего в принципе добиваешься? Может надо просто сделать как в SysImport-е - получить cell и из него получить уже данные.
Старый 25.03.2004, 20:16   #3  
Lazy_Tiger is offline
Lazy_Tiger
NavAx
Axapta Retail User
1C
NavAx Club
 
610 / 31 (3) +++
Регистрация: 17.12.2001
Адрес: Красноярск
у меня получилось вот так
....
// Line Number
Rng = Ws.Range("A"+strltrim(strrtrim(num2str(i,5,0,0,0))));
func = new COMDispFunction(Rng, "Text", COMDispContext::PropertyGet);
varRet = new COMVariant(COMVariantInOut::Out_retVal);
varRet.bStr("");
func.call(varRet);
sLineNum = varRet.bStr();
info(sLineNum);
....
__________________
И все они создания природы...
Старый 25.03.2004, 20:18   #4  
AKIS is offline
AKIS
Учаснег
Аватар для AKIS
 
392 / 19 (1) ++
Регистрация: 18.08.2002
Адрес: За морями, за океанами
Хм... У меня - тоже

Спасибо вам обоим

С меня как всегда бутылка
__________________
Strictly IMHO & nothing personal
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Импорт даты через Excel OliaM DAX: Функционал 2 13.12.2007 10:32
не получается экспорт в excel через COM Dimk DAX: Программирование 2 16.02.2007 19:37
Выравнивание ячейки в excel tnv DAX: Программирование 10 27.09.2006 14:48
связь с 1С через COM rinugun DAX: Программирование 9 03.12.2004 11:28

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:28.