|
|
#1 |
|
Участник
|
1) Открываем книгу: ExcelBuf.OpenBook(FileName,SheetName);
2) Считываем данные из Экселе и вгоняем их в 370 таблицу... : ExcelBuf.ReadSheet; 3) Как мне теперь перенести эти данные из 370 таблице???? Не могу понять сам процесс... Если можно пример... 81 отчет я совсем не понял.... |
|
|
|
|
#2 |
|
Участник
|
Там есть ссылки же на ряд и колонку Excel.
Если вы знаете, что у вас в этих ячейках, то просто при помощи фильтров на номера колонок/строк вытаскиваете значения и при помощи EVALUATE вставляете куда вам надо. P.S. Еще можно датапортом загонять даные в систему. |
|
|
|
|
#3 |
|
Участник
|
до меня не доходит как все это реализовать.....
Вот так собстевенно будет выглядеть каркас...: Код: RowNo:=1;
IF ExcelBuffer.FIND('-') THEN REPEAT
ExcelBuffer2.SETFILTER("Row No.",'=%1',RowNo);
IF ExcelBuffer2.FIND('-') THEN REPEAT
UNTIL ExcelBuffer2.NEXT=0;
RowNo:=RowNo+1;
UNTIL ExcelBuffer.NEXT=0; |
|
|
|
|
#4 |
|
Участник
|
Я знаю, что у меня, начиная с 3 строки есть код и описание страны. Пример упрощен (считаю, что там только новые кода и т.п.)
ПРИМЕР НЕ ПРОВЕРЯЛ, но примерно так. Код: // простой пример - без validate.
FromLine := 3;
TempExcelBuffer.SETCURRENTKEY("Row No.","Column No.");
TempExcelBuffer.SETFILTER("Row No.",'>=%1',FromLine);
IF TempExcelBuffer.FIND('-') THEN
REPEAT
TempExcelBuffer.SETRANGE("Column No.",1);
IF NOT TempExcelBuffer.FIND('-') THEN ERROR('не заполнен код страны');
Country.SETFILTER(Code,'=%1',TempExcelBuffer."Cell Value as Text");
IF Country.FIND('-') THEN ERROR('страна уже есть в базе');
Country.INIT;
EVALUATE(Country.Code,TempExcelBuffer."Cell Value as Text");
TempExcelBuffer.SETRANGE("Column No.",2);
IF TempExcelBuffer.FIND('-') THEN
EVALUATE(Country.Name,TempExcelBuffer."Cell Value as Text");
Country.INSERT;
// ставим на последнюю строку, чтоб цикл продолжить
TempExcelBuffer.SETRANGE("Column No.");
TempExcelBuffer.FIND('+')
UNTIL TempExcelBuffer.NEXT = 0; |
|
|
|
|
#5 |
|
Участник
|
Принцип понял..
|
|
|