Вопрос № 97213: Приветствую уважаемые эксперты. Помогите мне пожалуйста в таком вопросе. Сам пишу конфигурацию для учета своей деятельности и возникла необходимость импортировать и экспортировать из 1С справочник материалы в Эксель. С импортом вроде разобрался сам, ...
Вопрос № 97.213
Приветствую уважаемые эксперты. Помогите мне пожалуйста в таком вопросе. Сам пишу конфигурацию для учета своей деятельности и возникла необходимость импортировать и экспортировать из 1С справочник материалы в Эксель. С импортом вроде разобрался сам, а с экспортом из 1С как то не придумаю с какой стороны подступиться. Пока формирую отчет по справочнику и сохраняю его в формате Экселя. А как сделать чтобы все это делать автоматически средствами 1С?
Отправлен: 03.08.2007, 12:21
Вопрос задал: Ramzes (статус: 2-ой класс)
Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Vlad Skorochod
Здравствуйте, Ramzes!
Зайдите на сайт http://1c.proclub.ru/ Там были обработки по импорту и экспорту в эксель.
Ответ отправил: Vlad Skorochod (статус: 6-ой класс)
Ответ отправлен: 03.08.2007, 12:32 Оценка за ответ: 4 Комментарий оценки: Спасибо поищу
Отвечает: Sim_tm
Здравствуйте, Ramzes!
В принципе сохранения отчета в формате эксель это и есть "средстами 1с". а вобще придется или искать обработку по выгрузке справочников, которые в принципе попадаются в просторах инета или самому писать по анологии с импортом тока наоборот ;).
PS
Думаю если вы разобрались с импортом из экселя, то экспорт для вас вобще труда не составит.
Ответ отправил: Sim_tm (статус: 1-ый класс)
Ответ отправлен: 03.08.2007, 12:33 Оценка за ответ: 4 Комментарий оценки: Так я ж и спрашиваю как самому написать.
Отвечает: Dmitry Stashenko
Здравствуйте, Ramzes!
Вывод данных в Excel.
Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных. Открытие существующей книги описано выше, а для создания новой книги нужно использовать следующий код:
Попытка
Эксель = СоздатьОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!");
Возврат;
КонецПопытки;
Книга = Эксель.WorkBooks.Add();
Так как при создании книги в Excel автоматически создаются листы (Сервис->Параметры->Общие->Листов в новой книге), то нужно лишь произвести выбор листа, с которым будет вестись работа:
Лист = Книга.WorkSheets(НомерЛиста);
либо добавить в книгу новый лист, если необходимо:
Лист = Книга.Sheets.Add();
Следующим шагом будет установка значения ячейки:
Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение;
НомерСтроки, НомерКолонки - номер строки и номер колонки, на пересечении которых находится ячейка.
И в конце нужно произвести запись созданной книги:
Попытка
Книга.SaveAs(ПутьКФайлу);
Исключение
Сообщить(ОписаниеОшибки()+" Файл не сохранен!");
Возврат;
КонецПопытки;
ПутьКФайлу - полный путь к файлу книги Excel (включая имя).
Важно: не забывайте, что в имени файлов не должно содержаться символов / : * ? " > < |.
Приложение:
Ответ отправил: Dmitry Stashenko (статус: 8-ой класс)
Ответ отправлен: 03.08.2007, 12:46 Оценка за ответ: 5 Комментарий оценки: Спасибо буду пробовать
Отвечает: Афанасьев Владимир Владимирович
Здравствуйте, Ramzes!
Для экспорта данных в таблицу Excel возможно через OLE-объекты, для этого необходимо создать объект : Excel = СсоздатьОбъект("Excel.Aplication"); и далее работать с его внутренними методами. Однако это не самый легкий вариант, рекомендую попробовать сохранять все необходимые данные используя объект языка 1С XBase, дело в том, что структура XBase читается Excel`ем на ура, единственная проблема которая может возникнуть, это правильный выбор кодовой страницы КодоваяСтраница().
Ответ отправил: Афанасьев Владимир Владимирович (статус: 1-ый класс)
Ответ отправлен: 03.08.2007, 13:14 Оценка за ответ: 4 Комментарий оценки: Спасибо за скорость, но хотелось бы хотя бы кусок кода в виде примера.
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Практикант)
Ответ отправлен: 03.08.2007, 17:01 Оценка за ответ: 4 Комментарий оценки: Спасибо. Буду пытаться во всем этом разобраться