|
Выгрузка данныз из 1С в уже существующий Ексель файл. | ☑ | ||
---|---|---|---|---|
0
Solitar
19.02.12
✎
20:01
|
Есть файл в формате Экселя, надо сделать поиск по этому файлу, и случае успешного поиска заполнить определенную ячейку. В файле может быть около 5к строк.
Ничего не могу найти как это лучше сделать. |
|||
1
DrShad
19.02.12
✎
20:06
|
тебе прям сюда все кидать?
|
|||
2
Vladal
19.02.12
✎
20:06
|
(0) Найди темы по записи в Ексель. Было такое. Только не создавай новый файл, а используй запись в уже открытый.
|
|||
3
Vladal
19.02.12
✎
20:37
|
||||
4
John83
20.02.12
✎
14:48
|
Если Не ЗначениеЗаполнено(ФайлВыгрузки) Тогда
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.Фильтр = "Файлы Microsoft Excel (*.xls)|*.xls|Все файлы (*.*)|*.*"; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; ДиалогОткрытияФайла.Заголовок = "Выбор файла для сохранения данных отчета"; Если ДиалогОткрытияФайла.Выбрать() Тогда ФайлВыгрузки = ДиалогОткрытияФайла.ПолноеИмяФайла; КонецЕсли; Если НЕ ЗначениеЗаполнено(ФайлВыгрузки) Тогда Сообщить("Необходимо выбрать файл для выгрузки данных.", СтатусСообщения.Важное); Возврат; КонецЕсли; КонецЕсли; ДокЭкс = ПолучитьCOMОбъект("", "Excel.Application"); Попытка //ДокЭкс.SheetsInNewWorkbook = 1; //Один лист в новой книге ДокЭкс.DisplayAlerts = 0; //Не выводить предупреждения Excel //создадим список файлов которые нужно свалить в один ЭлементыФормы.ПолеТабличногоДокумента.Записать(КаталогВременныхФайлов()+"tmp.xls", ТипФайлаТабличногоДокумента.XLS); вр_файл = ДокЭкс.Workbooks.Open(КаталогВременныхФайлов()+"tmp.xls"); Ссылка = вр_файл; ПутьКФайлу = КаталогВременныхФайлов()+"tmp.xls"; Файл = ДокЭкс.Workbooks.Open(ФайлВыгрузки); //Создаем файл куда все пишем Ссылка.Sheets(1).Copy(Файл.Sheets(Файл.Worksheets.Count));//копирем очередно файл на следующую закладку Файл.Sheets(Файл.Sheets.Count).Move(Файл.Sheets(Файл.Sheets.Count-1));//добавленный лист будет предпоследним, двигаем его в конец //меняем имена закладок Файл.Sheets(Файл.Worksheets.Count).Name = Формат(Дата, "ДФ=ddMM"); //сохраняем результат Файл.SaveAs(ФайлВыгрузки,-4143); ДокЭкс.DisplayAlerts = 0; ДокЭкс.WorkBooks.Close(); ДокЭкс.Quit(); //удаляем все лишнее УдалитьФайлы(ПутьКФайлу); УдалитьФайлы(КаталогВременныхФайлов()+"result.xls"); Исключение ПоказатьИнформациюОбОшибке(ИнформацияОбОшибке()); ДокЭкс.DisplayAlerts = 0; ДокЭкс.WorkBooks.Close(); ДокЭкс.Quit(); УдалитьФайлы(ПутьКФайлу); КонецПопытки; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |