30.09.2004, 13:55 | #1 |
Участник
|
как считать значение из Excel - файла
Здраствуйте.
Подскажите пожалуйста как считать значение из excel - ого файла. Не могу найти нужный метод в классе COMExcelDocument_RU. Всем спасибо. |
|
30.09.2004, 14:01 | #2 |
сибиряк
|
посмотри на класс SysExcelImport
__________________
С уважением, Вячеслав. |
|
30.09.2004, 15:35 | #3 |
Участник
|
{
//Объявить переменные 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 |
Участник
|
как считать значение из 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 |
Участник
|
=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 |
Участник
|
2 Miktel
Извини, сразу не понял проблему. Попробуй делать наоборот - выбирать текстовое значение, а затем преобразовывать его с помощью str2int(). Успехов! |
|