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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.09.2004, 13:55   #1  
Miktel is offline
Miktel
Участник
 
17 / 10 (1) +
Регистрация: 13.07.2004
Адрес: Дома
как считать значение из Excel - файла
Здраствуйте.
Подскажите пожалуйста как считать значение из excel - ого файла.
Не могу найти нужный метод в классе COMExcelDocument_RU.
Всем спасибо.
Старый 30.09.2004, 14:01   #2  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
посмотри на класс SysExcelImport
__________________
С уважением, Вячеслав.
Старый 30.09.2004, 15:35   #3  
AlexUnik is offline
AlexUnik
Участник
 
199 / 22 (1) +++
Регистрация: 01.06.2004
Адрес: Королёв
{
//Объявить переменные
Filename _filename;
SysExcelApplication sysExcelApplication;
SysExcelWorksheets sysExcelWorksheets;
SysExcelWorksheet sysExcelWorksheet;
SysExcelworkbooks sysExcelWorkbooks;
SysExcelCell sysExcelCell;
Str ID_1

//Указать файл
_filename = "C:\\1.xls";
//Создать объект
sysExcelApplication = SysExcelApplication::construct();
//Открыть файл
sysExcelApplication.workbooks().open(_filename,0,true);
//Обратиться к первому листу книги
sysExcelWorksheets = sysExcelApplication.workbooks().item(1).worksheets();
sysExcelWorksheet = sysExcelWorksheets.itemFromNum(1); // или .itemFromName('Лист1');
//Считать значение из первой ячейки
ID_1 = sysExcelWorksheet.cells().item(1,1).value().bStr();
//Закрыть файл
sysExcelApplication.workbooks().close();
}
За это сообщение автора поблагодарили: Proba (1).
Старый 30.09.2004, 19:03   #4  
Miktel is offline
Miktel
Участник
 
17 / 10 (1) +
Регистрация: 13.07.2004
Адрес: Дома
:) как считать значение из Excel - файла
Помогло.
Строку из excel - файла считать удалось.
Не могу считать другие форматы: int, real.
sysExcelWorksheet.cells().item(i,j).value() возвращает тип COMVariant.
пишу

COMVariant comVariant;
int intFromExcel;
...
comVariant = new COMVariant();
comVariant = sysExcelWorksheet.cells().item(1,1).value() ;
intFromExcel = comVariant.int();
info("intFromExcel = " + int2str(intFromExcel));

на экране печатается "intFromExcel = ". Как получить значение типа int?
Старый 01.10.2004, 10:20   #5  
AlexUnik is offline
AlexUnik
Участник
 
199 / 22 (1) +++
Регистрация: 01.06.2004
Адрес: Королёв
=sysExcelWorksheet.cells().item(1,1).value().int;
=sysExcelWorksheet.cells().item(1,1).value().double();

PS. Поосторожней с числовыми кодами в Excel - в Axapta идентификаторы "001" и "01" являются различными, а Excel сделает их одинаковыми, т.к. съест предваряющие нули. Для того, чтобы Excel понимал число как строку, его надо начинать с апострофа, например '001. А в Axapta забирать значение через substr(код, 2,длина кода-1).
Старый 01.10.2004, 10:24   #6  
AlexUnik is offline
AlexUnik
Участник
 
199 / 22 (1) +++
Регистрация: 01.06.2004
Адрес: Королёв
2 Miktel
Извини, сразу не понял проблему. Попробуй делать наоборот - выбирать текстовое значение, а затем преобразовывать его с помощью str2int().
Успехов!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
диалоговое окно при закрытии файла Excel chanchala DAX: Программирование 8 26.08.2008 13:27
Получение данных из файла Excel Zeratul DAX: Программирование 11 27.04.2006 15:00
Как вставить значение из Аксапты в Excel Андре DAX: Программирование 17 09.02.2005 18:13
Как считать значение из поля sysrecordlevelSecurity.restriction ATimTim DAX: Программирование 2 21.01.2005 12:41
Как программно считать значение ключа доступа? ATimTim DAX: Программирование 3 12.01.2005 19:19

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

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

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