Имя: Пароль:
1C
1С v8
Как быстро работать с Excel
0 Coole
 
30.04.13
17:40
Есть файл эксель, в нем Ф., И., О., и еще 28-31 колонок (по числу дней месяца). Как лучше файл "читать" COMОбъектом - непосредственно, т.е. подряд строчки? юзать Find() - можно ли искать совпадение сразу в трех колонках, т.е. Ф И О? Или чтото еще предложите? Да, из файла данные нужны выборочно - в документе Табель те ФИО, которые нужно почитать из Экселя) Ну))) как то так)
1 Aprobator
 
30.04.13
17:41
COMОбъект с ADO. Примеров в гугле куча.
2 Злопчинский
 
30.04.13
17:42
пять-7 строк кода - чтение экселя через йоксель в ТЗ
3 Coole
 
30.04.13
17:47
(2) чтение все равно ведь по строкам?
4 shuhard
 
30.04.13
17:51
(3) ни о чем,
быстрее ADODB методов нет
5 s03
 
30.04.13
17:55
(4) поддерживаю.

подключаешься и выбираешь запросом нужные тебе данные с отбором хоть по всем колонкам сразу
6 Кокос
 
30.04.13
18:00
(0) грузи через адо в таблицу значений. А потом через временные таблицы запросом ищи в них хоть по сколько колонок.


а вообще сейчас придет Маня и начнет толкать свою поделку :)
7 Maniac
 
30.04.13
18:00
(4) есть, не вводи народ в забулждение.
8 Coole
 
30.04.13
18:01
(1) Штудирую
(6) Маня!!! Вызываю)))
(4) та ладно вам)
9 Maniac
 
30.04.13
18:04
если УТ11 еще плюс линукс-сервер, адо идет курит в сторонку.
Вместе с адо на 64 вин серверах все с той же УТ11.
10 Кокос
 
30.04.13
18:05
(8) ты вообще рекламная ветка Мани :)
11 Злопчинский
 
30.04.13
18:05
(3) мне пофиг как - по строкам или иначе. главное - приемлемо быстро.
12 Maniac
 
30.04.13
18:06
(6) не знаю о каких табелях автор говорит, мы пока что прайсы по 100 тысяч строк грузим.
Файл 100 000 строк с 15 колонками (заполнены все)
1 минута
https://www.youtube.com/watch?v=DyruhHLQdTU
13 Кокос
 
30.04.13
18:09
(12) фи. не УФ :)
14 Maniac
 
30.04.13
18:10
(13) да тоже самое. Просто все сначла на УТ10 прогаю, потом на УТ11 переношу.
На днях сделали работу под линукс-сервером.
15 Злопчинский
 
30.04.13
18:10
(12) женя, из 1ски экселем конвертни в дбф и грузи из дбфа - будет быстрее...
16 Кокос
 
30.04.13
18:12
(0)
   Connection = Новый COMОбъект("ADODB.Connection");
       Connection.Open(Provider=Microsoft.Jet.OLEDB.4.0; Data Source="E:\1CBASES\ПЕРЕНОС\РЕАЛЬНЫЕДАННЫЕ\Отгрузка на ТС для Анатолия.xls"; Extended Properties="Excel 8.0;");
       Попытка
          RecordSet = Connection.Execute("SELECT *, (1) AS LN_COUNTER  FROM [Передача из москвы в кострому$]");
//"Передача из москвы в кострому" -
то название закладки в экселе. внизу. Обычно там Книга1 написано
       Исключение
           Сообщить("Не удалось выполнить запрос к файлу Excel
           |"+ ОписаниеОшибки(),СтатусСообщения.Важное);
           Возврат Неопределено;
       КонецПопытки;
17 Кокос
 
30.04.13
18:14
ну и грузи дальше чтот типа

   
   Если НЕ (RecordSet.EOF и RecordSet.BOF) Тогда
       RecordSet.MoveFirst();
       Пока RecordSet.EOF = 0 Цикл // Заполнение созданной таблицы
           НоваяСтрока =  Новый Структура();
           Для НомерСтолбца = 0 По RecordSet.Fields.Count-1 Цикл
               ИмяСтолбца =RecordSet.Fields.Item(НомерСтолбца).Name;
               НоваяСтрока.Вставить("Реквизит"+СокрЛП(Строка(НомерСтолбца)),СОкрЛП(ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(Строка(RecordSet.Fields(НомерСтолбца).Value)," ")));
           КонецЦикла;
           Данные.Добавить(НоваяСтрока);
           RecordSet.MoveNext();
       КонецЦикла;
   КонецЕсли;
18 Кокос
 
30.04.13
18:14
это у меня под УФ. там таблицы значений невозможно применять. а если не УФ можно сразу в ТЗ грузить.
19 Кокос
 
30.04.13
18:17
(0) а потом все это грузишь в ТЗ и по ТЗ делаешь запрос как в
v8: Хелп с запросом в временной таблице. Реализация "*" - звездочки
20 Maniac
 
30.04.13
18:18
Ну все пипец, обломал мне клиента с бабками
21 Кокос
 
30.04.13
18:19
(20) Мань. Вообще судя по заголовку это твоя рекламная ветка :) так что скорее всего я с тобой просто поговорил :))
22 Coole
 
30.04.13
18:21
(20) Я нищая тупая адинэсница))))
23 Maniac
 
30.04.13
18:24
(22) нищая тупая 1Сница? тогда должно быть красивая. Это компенсирует все.
24 Maniac
 
30.04.13
18:24
о так и фотка есть. Ничо так. я бы прокатил на мерсе.
25 sttt
 
30.04.13
18:26
(22) тогда иди пирожки печь))
26 Coole
 
30.04.13
18:31
Спасибо, Кокос. Всем пока!
27 Maniac
 
30.04.13
18:32
Не уходи, побудь со мной.