Импорт данных из Excel в 1С

Обработки - Обработка документов

Часто возникает задача по импорту данных в типовые документы (реализация, комплектация, перемещение и т.д.) подготовленных данных из Экселя в чистый заранее созданный документ. Что собственно и делается.

Вроде все понятно из самой формы.

Скачать файлы

Наименование Файл Версия Размер
ИмпортИзЭксНавороченный.rar
.rar 9,43Kb
31.07.12
125
.rar 9,43Kb 125 Скачать

См. также

Комментарии
1. Илья Трошин (Troha) 01.08.12 21:09 Сейчас в теме
Сколько можно одну тему мусолить? Уже существует огромное количество обработок для работы с данными в формате Excel. Почему все хотят изобрести велосипед?
2. Иваныч Иванов (Иваныч) 22 07.08.12 19:40 Сейчас в теме
Сколько можно одну тему мусолить? Уже существует огромное количество обработок для работы с данными в формате Excel. Почему все хотят изобрести велосипед?
[+] [−]

я тоже много подобного просмотрел, потом сам делал под себя. так что не нужно столь критично относиться. а может автор совершенствуется.
3. Lexa О (e-lexa) 147 10.08.12 06:37 Сейчас в теме
Не плохо было бы и скриншот примера файла Excel выложить
4. Владимир Гончаров (gvv7_7) 30.08.12 14:53 Сейчас в теме
У нас на работе по-прежнему эта тема (получения данных их Excel в 1С) - актуальна!!!
5. Andrey (angy) 18.02.13 16:00 Сейчас в теме
Импорт с Excel в 1С пишется в пару строк, тема уже разжована по полной:
Процедура ОсновныеДействияФормыЭкспорт(Кнопка)
Попытка
Попытка

// Загрузка объекта Microsoft Excel
Состояние("Выгрузка данных из 1С в Microsoft Excel...");
ExcelПриложение = Новый COMОбъект("Excel.Application");
Исключение
Сообщить("Ошибка при запуске Microsoft Excel."
+ Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
Возврат;
КонецПопытки;

// Создадим книгу, по умолчанию в ней уже есть листы
Книга = ExcelПриложение.WorkBooks.Add();

// Используем первый лист книги Excel
Лист = Книга.WorkSheets(1);

// Сформировать шапку документа в первой строке листа
Колонка = 1;
Для каждого стр из ТП цикл
Если стр.Выгружать Тогда
Лист.Cells(1, Колонка).Value = стр.НазваниеРеквизита;
Колонка = Колонка + 1;
КонецЕсли;
КонецЦикла;

// Выгрузить данные справочника
выборка = Справочники[ИмяСправочника].Выбрать();
СтрокаЛиста = 2;
Пока выборка.Следующий() Цикл
Колонка = 1;
Для каждого стр из ТП цикл

Если стр.Выгружать Тогда
Попытка
// Установить значение в строке и колонке
Если ТипЗнч(выборка[стр.НазваниеРеквизита])=Тип("Число") Тогда
// Установить формат для типа Число
Лист.Cells(СтрокаЛиста, Колонка).NumberFormat = "0,00";
Лист.Cells(СтрокаЛиста, Колонка).Value =
Формат(выборка[стр.НазваниеРеквизита],"ЧГ=0");
иначе
// Для всех других типов установим формат "Текстовый"
Лист.Cells(СтрокаЛиста, Колонка).NumberFormat = "@";
Лист.Cells(СтрокаЛиста, Колонка).Value =
Строка(выборка[стр.НазваниеРеквизита]);
КонецЕсли;
исключение
// в случае ошибки вывести номер строки и колонки
Сообщить("Ошибка установки значения для: " +
выборка[стр.НазваниеРеквизита]);
Сообщить("Стр: " +СтрокаЛиста+ " Кол: " +
Колонка+ " Рек: " + стр.НазваниеРеквизита);
КонецПопытки;
Колонка = Колонка + 1;
КонецЕсли;

КонецЦикла;
СтрокаЛиста = СтрокаЛиста + 1;
Состояние("Экспорт из 1С в Excel " + СтрокаЛиста);
КонецЦикла;

// Сохраним созданную книгу в файл xls
Книга.SaveAs(имяФайла);

// Обязательно закроем соединение с COM объектом для освобождения памяти
ExcelПриложение.Quit();

Сообщить("Файл выгружен успешно: " + имяФайла );

Исключение
// Обработка ошибок экспорта данных из 1С в Excel
Сообщить("Ошибка записи данных файла :" + имяФайла);
Сообщить(ОписаниеОшибки());
Попытка
ExcelПриложение.Quit();
Исключение
КонецПопытки;
КонецПопытки;
КонецПроцедуры
7. Андрей - (Motor24) 06.08.13 15:50 Сейчас в теме
(5)Ну, как бы тема про ИМПОРТ из Excel, а не про экспорт в него.
Да и лишний вариант итогового оформления не помешает, почему бы и нет? Хоть тема и избита, велосипед всегда можно чуть-чуть улучшить
8. Alex Dio (diomidov) 25.09.13 09:32 Сейчас в теме
Товарищи, как быть, если сам эксель не установлен на сервере? Есть ли какие-то запасные пути? Пробовал утилитку unioffice, но заставить работать не получилось(
Оставьте свое сообщение