1с 7 загрузка из excel не установлен
Замечание: В Excel разделителем дробной части считается символ ",". Поэтому перед сохранением таблицы 1С в формате Excel замените в ней другой разделитель (например ".") на ",". Иначе в Excel с этими числами не удастся произвести вычисления, или они вообще не будут отображаться как числа. Например, в таблице 1С "15.2" отобразится в Excel как "15.фев".
Для 8.х заменить СоздатьОбъект( на Новый COMОбъект(
Чтение (Получение) данных из Excel
Доступ из 1С к Excel производится посредством OLE. Например, код
Код 1C v 7.x
позволит получить доступ через переменную "Эксель" к запущенному приложению Excel. А далее уже можно получить доступ к книге (файлу), листу и ячейке с данными.Чтобы открыть книгу (файл)
Код 1C v 7.x
Важно: не забывайте поле выполнения нужных действий добавлять код
Код 1C v 7.x
, иначе запущенный процесс останется незавершенным и будет занимать память и процессор компьютера.
Вывод данных в Excel
Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных. Открытие существующей книги описано выше, а для создания новой книги нужно использовать следующий код:
Код 1C v 7.x
Так как при создании книги в Excel автоматически создаются листы (Сервис->Параметры->Общие->Листов в новой книге), то нужно лишь произвести выбор листа, с которым будет вестись работа:
Код 1C v 7.x
Следующим шагом будет установка значения ячейки:
Код 1C v 7.x
И в конце нужно произвести запись созданной книги:
Код 1C v 7.x
Важно: не забывайте, что в имени файлов не должно содержаться символов \ / : * ? " >
Похожие FAQ
Еще в этой же категории
Как в excel сохраненный из 1С вставить новый лист? 15
Я думаю, все сталкивались с однолистовым excel файлом из 1С, у которого на первый взгляд, нет возможности добавить листы. Все не так страшно - их просто скрыли или, что чаще всего - даже не отображали (обусловлено созданием файла из стороннего прил Преобразование XLS в MXL 10
Конвертация таблиц из Excel в MXL - скачать Converter Excel v MXL: Для 8.х - Для 7.7 - // Выбор файла Microsoft Excel Procedure FileNameStartChoice(Element, StdProcessing) StdProcessing = False; DialogFile = New FileDialog(FileDialogMode. Выгрузка данных в Excel с установкой разных параметров 9
// Процедура выгружает из указанного справочника данные в режиме экспорта в файл в формате Microsoft Excel // с указанным именем, используя преобразование данных к типу число и типу строка; Процедура ОсновныеДействияФормыЭкспорт(Кнопка) Попытка Группировка строк Excel 4
В ниже указанном коде нужно убрать символ _ //Группировка строк по уровню 2 Worksheet.Range(" 7:8" ).Rows.Group(); Worksheet.Range(" 10:11" ).Rows.Group(); Worksheet.Range(" 14:15" ).Rows.Group(); Worksheet.Range(" 17:18" ).Rows.Group(); / Как загрузить данные из Access в 1С ? 4
Загружаем данные из Access в 1С Файл = " C: files demo.mdb" ; //СтрокаПодключения = " Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Файл + " ; Extended Properties=" " Excel 8.0;HDR=NO;" " " ; СтрокаПодключения icon-exclamation-sign"> Посмотреть все в категории Работа с Microsoft Office и OpenOffice
Вы ходили по этой ссылке?ВАМ ТРЕБУЕТСЯ РЕГУЛЯРНОЕ ВЫПОЛНЕНИЕ одинаковой задачи? Если разово- тогда подойдет.иначе. Либо "пыжить" интернет, либо писать для себя обработку, но, даже, если и найдете в интернете- не факт, что допиливания под свои нужды не потребуется.
Вам нужен иформат файла загрузки из Ексель в 1С для определённой обработке по загрузке или обработка по загрузке??
Если обработка - можете написать сами. Код примерно следующий:
Процедура ВыбратьФайл()
Попытка
Ексел=СоздатьОбъект("Excel.Application");
Исключение
Предупреждение("На этой машине Excel не установлен!");
Возврат;
КонецПопытки;
Если Ексел.Application.Workbooks.Count>0 Тогда
НужноВыйти=0;
Иначе
НужноВыйти=1;
КонецЕсли;
ИмяФайла=""; ИмяКаталога="";
Если ФС.ВыбратьФайл(0,ИмяФайла,ИмяКаталога,"Выберите файл Excel","Excel(*.xls)|*.xls")=1 Тогда
Попытка
Книга=Ексел.Application.Workbooks.Open(ИмяКаталога+ИмяФайла);
Исключение
Предупреждение("Открыть файл не получилось!");
Возврат;
КонецПопытки;
Иначе
Возврат;
КонецЕсли;
(9) pvase, столкнулся с такой ситуацией, таблица 35 на 200 заполнена цифрами и буквами, так вот, этот гадский ADO формирует таким образом, что если в первой строке ячейка имеет числовое значение, то весь столбец воспринимается как число, и в остальных строках, если появляется буква, то возвращается пустое значение, если первая строка состоит из букв, то выгружается всё в символьном формате. каким оператором сделать так, чтобы все значения выгружались как символьные (уж в число то я символ переведу:)), не зависимо от того, какие данные забиты в таблицу.
(11) alljoke, нет возможности привести ячейки в текстовый формат, объем большой и обновляется ежедневно
(10) Sas001, кстати, вводится только если locktype=1, иначе выдается ошибка: You cannot record your changes because a value you entered violates the settings defined for this table or list (for example, a value is less than the minimum or greater than the maximum). Correct the error and try again.
(12) alljoke, совсем не проще, нужна выгрузка в ТЗ, только вот файлов около 50 штук, и если использовать эхель, то из обработка занимает добрые полчаса, поэтому и пал выбор на ADO
(16) alljoke,
Для к = 1 По спФайлов.РазмерСписка() Цикл
тФайл = спФайлов.ПолучитьЗначение(к);
состояние(тФайл);
db=CreateObject("ADODB.Connection");
rs=CreateObject("ADODB.recordset");
ПолныйПуть = СокрЛП(тФайл);
лист = "1";
db.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Симв(32)+ПолныйПуть+Симв(32)+";Extended Properties=""Excel 12.0;""";
//db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Симв(32)+ПолныйПуть+Симв(32)+";Extended Properties=""Excel 8.0;""";
db.Open();
rs.ActiveConnection = db;
rs.CursorType = 3;
rs.LockType = 1;
rs.Source = "Sel ect * fr om ["+лист+"$] ";
rs.Open();
КвоКолонок = rs.Fields().Count;
Попытка
_ = rs.Fields(КвоКолонок).Value;
_Нк = 1;
Исключение
КвоКолонок = КвоКолонок - 1;
_Нк = 0;
КонецПопытки;
_Нс = 0;
Пока rs.Eof()=0 Цикл
_Нс =_Нс+1;
Если ТЗИ.КоличествоКолонок() <> ?(_Нк = 0,КвоКолонок+1,КвоКолонок) Тогда
Для Нк = _Нк По КвоКолонок Цикл
СинКол = rs.Fields(Нк).Name;
ТЗИ.НоваяКолонка(. СинКол);
КонецЦикла;
КонецЕсли;
Если _Нс > 6 Тогда
Если СокрЛП(rs.Fields(1).Value) = "" Тогда
Прервать
КонецЕСли;
ТЗИ.НоваяСтрока();
Для Нк = _Нк По КвоКолонок Цикл
ТЗИ.УстановитьЗначение(ТЗИ.КоличествоСтрок(),?(_Нк = 0,Нк+1,Нк),rs.Fields(Нк).Value);
КонецЦикла;
КонецЕсли;
rs.MoveNext();
КонецЦикла;
rs.Close();
db.Close();
Сообщить("Обработан файл "+ тФайл);
КонецЦикла;(16) alljoke,
Загрузка в 1С:7.7 (далее просто 1С) из Excel, казалось бы, что может быть проще? Создаем объект "Excel.Application", открываем в нем необходимый файл и загружаем все необходимы данные. Но есть одно маленькое но: чтобы создать этот объект, на компьютере должен быть установле Excel. А если Excel-я нет, что делать? Уже несколько раз сталкивался с такими организациями: на компьютерах пользователей, разумеется, стоит все необходимое, в т.ч. и MS Office, нет только 1С, а вот на сервере терминалов все наоборот: только 1С:7.7 и все. На предложение установить хотя бы только Excel отвечают категорическим отказом, мотивируя это проблемами безопасности или отсутствием свободных лицензий, или и тем, и другим. В таком случае открыть файл через объект "Excel.Application" оказывается невозможно, что же делать? Но выход есть! Наша любимая Microsoft все предусмотрела! Чтобы извлечь данные из файлов Excel можно использовать специальные объекты ACE.OLEDB или более старые JET.OLEDB.
Итак, если у Вас возникла необходимость обратится из 1С к книге Excel на машине, где неустановлен этот самый Excel, то порядок действий следующий:
А для ACE.OLEDB 12-ой так:
Описание тонкостей данных настроек - это тема для отдельной публикации. Для наших целей достаточно тех, что указаны здесь. Но интересующиеся могут воспользоваться поисковыми запросами "подключение к microsoft.jet.oledb" или "подключение к microsoft.Ace.oledb".
Подключаемся к файлу:
Файл открыт. Для получения из него данных необходимо будет использовать объект RecordSet, если Вы работали в VB или VBA, то знаете что это такое, для остальных буду в процессе пояснять. Теперь таблица Excel представляется обычной таблицей базы данных, у которой есть строки, есть колонки, чтобы прочитать данные из этой таблицы необходимо сформировать SQL-запрос и передать его объекту RecordSet. Сейчас мы сформируем запрос, который откроет доступ к диапазону строк с 10 до 120 и колонок с A по S:
Последовательно читаем все строки объекта RecordSet с помощью методов MoveFirst (ПолучитьПервуюЗапись) и MoveNext (ПолучитьСледующуюЗапись). Внутри строки перемещаемся с помощью коллекции Fields:
COM-подключение к базе 7.7 из 8.2 1С 6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D: ВашаБаза 1с77 " ; Пользователь= Быстрая выгрузка отчетов в Excel, наложение Фильта и отображение ярлыка 0
Вместо Таб.Показать() используем глобальную функцию - и отчет показывается сразу в Excel в удобоваримом виде - с форматированием колонок по ширине, автофильтром и ярлычками листов Процедура глОткрытьВЭкселе(Таб,ИмяФайла=" " ,НеИзменятьВысотуСтроки=0 Быстрый перенос списка баз с одного компьютера на другой 0
Для 8.1 : 1. Список баз 8.1 можно сохранять в файл.Для этого правой кнопкой мыши по корневому элементу " Информационные базы " , далее " Сохранить ссылку в файл " . 2. Получаем файл с расширением v8i , это текстовый файл в кодировке UTF-8. Ес Вставить формулу, функцию в ячейку Excel 0
Ячейка = Лист.Cells(1,8); Ячейка.Formula=" =SUM(R11C:R C)" ; Процедура Сформировать() Перем Кат,Шаб; Ехсел=СоздатьОбъект(" Excel.Application" ); Книга=Ехсел.Workbooks; Если ФС.ВыбратьФайл(0,Кат,Шаб," Выбери файл Еxcel" ,," *.xls" ,)=1 Тогда Вывести список элементов справочника в Word используя шаблон spisok.dot 0
Процедура ВывестиСписокЭлементовСправочникаВWord() спр1=создатьобъект(" справочник.сотрудники" ); спр1.ИспользоватьДату(ТекущаяДата()); Сообщить( спр1.НайтиПоНаименованию(" Администрация" ,0,1)); Сообщить(спр1.ПолучитьАтрибут(" Наименование" )) Посмотреть все результаты поиска похожих
Еще в этой же категории
Как в excel сохраненный из 1С вставить новый лист? 15
Я думаю, все сталкивались с однолистовым excel файлом из 1С, у которого на первый взгляд, нет возможности добавить листы. Все не так страшно - их просто скрыли или, что чаще всего - даже не отображали (обусловлено созданием файла из стороннего прил Преобразование XLS в MXL 10
Конвертация таблиц из Excel в MXL - скачать Converter Excel v MXL: Для 8.х - Для 7.7 - // Выбор файла Microsoft Excel Procedure FileNameStartChoice(Element, StdProcessing) StdProcessing = False; DialogFile = New FileDialog(FileDialogMode. Выгрузка данных в Excel с установкой разных параметров 9
// Процедура выгружает из указанного справочника данные в режиме экспорта в файл в формате Microsoft Excel // с указанным именем, используя преобразование данных к типу число и типу строка; Процедура ОсновныеДействияФормыЭкспорт(Кнопка) Попытка Группировка строк Excel 4
В ниже указанном коде нужно убрать символ _ //Группировка строк по уровню 2 Worksheet.Range(" 7:8" ).Rows.Group(); Worksheet.Range(" 10:11" ).Rows.Group(); Worksheet.Range(" 14:15" ).Rows.Group(); Worksheet.Range(" 17:18" ).Rows.Group(); / Как загрузить данные из Access в 1С ? 4
Загружаем данные из Access в 1С Файл = " C: files demo.mdb" ; //СтрокаПодключения = " Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Файл + " ; Extended Properties=" " Excel 8.0;HDR=NO;" " " ; СтрокаПодключения icon-exclamation-sign"> Посмотреть все в категории Работа с Microsoft Office и OpenOffice
Иногда требуется разобрать данные из Excel в 1С.
Я считаю что легче и быстрей поместить все данные в ТаблицуЗначений и уже там ими манипулировать.
Пример 2-х функций которые я использую:
ИзExcelВТаблицу – Читает Excel в ТаблицуЗначений
ЭлементСправочника – Создает или находит элемент справочника.
Теперь сам код:
Код 1C v 8.х
Пример вызова:
Код 1C v 8.х
или
Код 1C v 8.х
Теперь функция которой я использую когда надо создать элемент справочника из полученных данных.
Код 1C v 8.х
Автор: borismor
Похожие FAQ
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C медленно работает по сети с базой на SQL Server 20
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П 1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое COM-подключение к базе 7.7 из 8.2 1С 6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D: ВашаБаза 1с77 " ; Пользователь= Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ; Посмотреть все результаты поиска похожих
Еще в этой же категории
Как в excel сохраненный из 1С вставить новый лист? 15
Я думаю, все сталкивались с однолистовым excel файлом из 1С, у которого на первый взгляд, нет возможности добавить листы. Все не так страшно - их просто скрыли или, что чаще всего - даже не отображали (обусловлено созданием файла из стороннего прил Как сформировать документ в Word из 1С? (Active Document) 14
ВНИМАНИЕ! При использовании кодов описанных ниже, уберите символ _ Давайте рассмотрим на примерах как это делается! =) Мне известно 2 способа: 1. Путем замены шаблонного текста в макете Wordа. 2. Путем вставки текста с помощью закладок в Wo Преобразование XLS в MXL 10
Конвертация таблиц из Excel в MXL - скачать Converter Excel v MXL: Для 8.х - Для 7.7 - // Выбор файла Microsoft Excel Procedure FileNameStartChoice(Element, StdProcessing) StdProcessing = False; DialogFile = New FileDialog(FileDialogMode. Пример работы с общим макетом типа ActiveDocument в клиент-серверном варианте 3
//********************************************************************************** //получаем макет на сервере, сохраняем в файл и передаем на клиента НаСервере Функция ПолучитьДанныеМакета() АдресХранилища = Новый УникальныйИдентификатор Как выгрузить Таблицу значение в файл Excel? 2
Процедура СохранитьТаблицуВФайлExcel(Таблица, ПолноеИмяФайла=" " , ОткрыватьДиалогВыбораФайла=Истина, ВыгружаемыеКолонки=" " ) Экспорт Если ПустаяСтрока(ПолноеИмяФайла) ИЛИ ОткрыватьДиалогВыбораФайла Тогда Диалог = Новый ДиалогВыбораФайла(РежимДи Посмотреть все в категории Работа с Microsoft Office и OpenOffice
Читайте также: