|  | 
|  30.01.2007, 20:59 | #1 | 
| Участник | 
			
			Иван, так первая строка интерпретируется как заголовок столбцов.  X++: static void CorrectADOFileImport(Args _args) { ExcelImportADO excel; Counter fieldCount; Counter curField; FileNameOpen fileName; COM adoxCatalog = new COM(@"ADOX.Catalog"); COM Tables; COM Table; COM Columns; COM Column; int i; ; filename = WinAPI::getOpenFileName(infolog.hWnd(), ["Microsoft Excel","*.xls"], '', "Выберите файл"); if (!filename) throw error("@SYS26757"); excel = new ExcelImportADO(fileName); if (excel.openFile()) { fieldCount = excel.getFieldsCount(); adoxCatalog.ActiveConnection(excel.getConnection()); Tables = adoxCatalog.Tables(); Table = Tables.Item(0); if (Table) { Columns = Table.Columns(); for (i=0;i<Columns.Count();i++) { Column = Columns.Item(i); if (Column) info(Column.Name()); } box::info(int2str(fieldCount)); while (!excel.eof()) { info(excel.getFieldValue(1, true)); info(excel.getFieldValue(2, true)); info(excel.getFieldValue(3, true)); info(excel.getFieldValue(4, true)); info(excel.getFieldValue(5, true)); for (curField = 6; curField < fieldCount; curField++) { info(excel.getFieldValue(curField, true)); } return; //только первую строку //excel.moveNext(); } } } } 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  |