Работа с Excel в фоновом задании

Публикация № 196323

Разработка - Обмен данными 1С - Загрузка и выгрузка в Excel

129
Встала задача. По электронной почте приходят письма с вложениями таблиц Excel. Получение почты производится встроенным клиентом 1С фоновым заданием. Необходимо было по расписанию несколько раз в день извлекать из новых писем вложения и загружать из них данные. Тут я столкнулся с проблемой - работать с Excel в фоновом задании ни через COM, ни через ADO не удавалось. Вываливалась ошибка. Нигде в сети четкого решения проблемы я не обнаружил. В итоге, собирая информацию по крупицам из разных источников (порой и вовсе не связанных с 1с) и нескольких дней мучений все же я решил данную проблему. Ниже я опишу свое решение, чтобы помочь таким же, как я )

Начну свой рассказ.

Попытка подключиться к Excel через COM объект

ExcelApp = Новый COMОбъект("Excel.Application");

приводило к ошибке "Интерфейс не поддерживается".

Если использовать ADO

CтрокаСоединения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
    ИмяФайла + ";Extended Properties=""Excel 8.0;HDR=NО;IMEX=1""";

СоединениеADO = Новый COMОбъект("ADODB.Connection");
СоединениеADO.ConnectionString = СтрокаСоединения;
СоединениеADO.Open();

то возникала ошибка "указанный поставщик не найден".

Сразу оговорюсь, что Microsoft Office на сервере был установлен и при обычном запуске обработки (не в фоновом задании) все проходило на ура.

Так как фоновые задания выполняются от имени пользователя, под которым работает сервер 1С:Предприятие (обычно это USR1CV82), то возникло логичное предположение, то у этого пользователя не достаточно прав. Для эксперимента этому пользователю были выданы права администратора и фоновое задание завершилось успешно. Однако, это был не вариант. Требовались минимально возможные права и я окунулся в мир поиска информации в глобальной сети.

Итак. Первое что удалось выяснить, это то, что пользователю USR1CV82 необходимо дать права на запуск DCOM Microsoft Excel Application (прошу прошения, могу путаться в понятиях, но смысл, что делать,  думаю, будет понятен).

Для этого необходимо:

1. Нажать кнопку Пуск и выбрать Панель управления.

2. Дважды щелкнуть значок Администрирование и выбрать пункт Службы компонентов.

3. В левой панели окна "Службы компонентов" дважды щелкнуть пункт Службы компонентов, дважды щелкнуть пункт Компьютеры и выбрать Мой компьютер.

4. Выбрать папку Настройка DCOM.

5. В окне сведений найти объект Microsoft Excel Application, щелкнуть его правой кнопкой и выбрать пункт Свойства (здесь есть подводный камень, с которым я довольно долго промучался - если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке и права для него мне так и не удалось настроить пока не переустановил Office).

6. Открыть вкладку Безопасность.

7. В разделе Разрешения на запуск выбрать пункт Настроить и нажать кнопку Изменить.

8. Добавить пользователя USR1CV82.

Источник: http://technet.microsoft.com/ru-ru/library/cc778126(WS.10).aspx

Ниже поясняющие скриншоты.

 

Однако, после произведенных описанных выше настроек фоновое задание так и не заработало.

При работе с COM объектом экземляр Excel успешно создавался, но открыть файл не получалось

ExcelApp = Новый COMОбъект("Excel.Application");
ФайлExcel = ExcelApp.Workbooks.Open(ИмяФайла); // ОШИБКА!

выводилось сообщение об ошибке

Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "C:\xls_test\test.xls". Это может быть вызвано одной из следующих причин.

• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.

Попытки подключиться через ADO выдавало все тоже сообщение об отсутствии поставщика.

Поиски в просторах сети были продолжены и решение таки было найдено:

Необходимо создать папку

  • для Windows Server x64

    C:\Windows\SysWOW64\config\systemprofile\Desktop
     
  • для Windows Server x86

    C:\Windows\System32\config\systemprofile\Desktop

Данное расположение папок указано для Office 2007. Для Office 2010 не зависимо от разрядности платформы необходимо создавать папку C:\Windows\System32\config\systemprofile\Desktop (данный факт так же потратил не мало моего времени). В общем, если создали папку, а ошибки не исчезли, создайте вторую. Так же необходимо дать права на созданную папку пользователю USR1CV82. Практика показала, что достаточно прав, выдаваемых системой по умолчанию.

Источник: http://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64

После проделанных всех настроек на тестовом сервере фоновое задание наконец то прошло успешно.

Однако на рабочем сервере при подключение к Excel через COM меня ждало фиаско - задание просто зависало и завершить его можно было только перезапуском сервера 1С:Предприятия. Зависало в момент открытия файла (ФайлExcel = ExcelApp.Workbooks.Open(ИмяФайла);). Я так предполагаю, что при открытии Excel открывает какое-нибудь окно и ждет ответа пользователя. Но проверить не удалось, так как доступа к рабочему серверу у меня не было и все настройки по моей просьбе на нем производил админ.

В итоге все взелетело с использованием ADO и успешно работает.

Надеюсь, данная статья поможет кому-нибудь съэкономить время при реализации подобных задач.

p.s. Ну и забыл упомянуть, что у пользователя USR1CV82, естественно, должны быть права на обрабатываемые файлы Excel.

129

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
37. Volfy 25 25.07.16 14:56 Сейчас в теме
(1) Eugeneer, Мир не знал как у тебя бомбило... и ты решил рассказать?)
39. Артано 663 29.07.16 10:30 Сейчас в теме
(37) Volfy, влепил минус. Странная реакция на резонное замечание. Я думаю мало кто будет рад, если его работа в которую вложены силы, время, деньги будет использоваться кем-то без его ведома. Ну и вообще, тут собрались профессионалы, которые решают задачи и делятся своим опытом, стиль общения должен соответствовать
d.kolosova; +1 Ответить
3. ltfriend 412 02.08.13 06:08 Сейчас в теме
(2) Eugeneer, это все не указано, потому что не имеет значения. работа с фоновыми заданиями не отличается ни от версии платформы, ни от конкретной конфигурации, ни от того, как работают пользователи.
5. ltfriend 412 02.08.13 10:11 Сейчас в теме
(4) Eugeneer, статья не о том, как читать / записывать данные в Excel (об этом и так не мало написано), а о том, что бы работать с Excel в фоновом задании необходимы дополнительные настройки системы. И какие именно тут и описано. И именно об этом и написано в анонсе. Если вам не понятно/не интересно/не нужно - ставьте свой минус и проходите мимо.
EvgeniuXP; d.kolosova; +2 Ответить
41. Boudybuilder 60 08.10.16 01:44 Сейчас в теме
(4) Eugeneer, полезная статья. Надоели Вы уже со своей критикой. Автор молодчара.
21. VVi3ard 48 16.03.15 12:50 Сейчас в теме
(2) Eugeneer, не подскажите компоненту Native API для работы?

Автору спасибо, все так как он и написал в интернете все что тут написано есть, но разбросано по сайтам, тут же готовая инструкция.

По поводу:

"Однако на рабочем сервере при подключение к Excel через COM меня ждало фиаско - задание просто зависало и завершить его можно было только перезапуском сервера 1С:Предприятия."

Дело в том что эксель показывает диалоговое окно и ждет реакции пользователя, а т.к. это окно не кто не видит то и реакции нет.

Что бы избежать подобных моментов нужно:
Эксель = Новый COMОбъект("Excel.Application");
Эксель.Visible = Ложь;
Эксель.DisplayAlerts=Ложь;

Еще раз большое вам спасибо за статью и за отличное оформление со скриншотами.
Ольга_tmp; 7OH; +2 Ответить
22. Lapitskiy 903 22.03.15 06:11 Сейчас в теме
(21) VVi3ard, да к Eugeneer также присоединюсь, вопрос, Женя постоянно много высказывается, но ссылок нет.
Евгений, ссылку на рабочую API NATIVE - в студию плиз.
6. Pavel777777 59 27.11.13 15:06 Сейчас в теме
Спасибо, что докопались до решения и поделились) .. была такая же проблема (но я отложил поиск решения "на потом") ... мне помогло "для Windows Server x64 - C:\Windows\SysWOW64\config\systemprofile\Desktop" .

Также добавил бы в копилку решений подобных проблем:
1) иногда в такой работе с эксель возникает ошибка при обращении к параметрам страницы (через PageSetup) = такое бывает, если не установлен "принтер по умолчанию" ... например, на новом сервере
2) иногда в такой работе с эксель возникает ошибка, когда используется открытие файла Open ... = бывает, что при первом запуске Эксель просит ввести Инициалы , если не произвести запуск Экселя интерактивно и не подтвердить инициалы, то будет возникать ошибка
d.kolosova; lexxxus; p.d.; proal; savinsva; VVi3ard; +6 Ответить
7. mehalyna 04.01.14 17:37 Сейчас в теме
Спасибо за совет. Давно искала решение подобной задачи. Теперь обязательно воспользуюсь. Еще раз спасибо!
8. lm7777 05.02.14 18:13 Сейчас в теме
Спасибо, помогло создание папки C:\Windows\SysWOW64\config\systemprofile\Desktop. С DCOM вроде все понятно, но вот создание папки немного напрягает своей нелогичностью. Если есть более подробная информация зачем это надо, буду рад ознакомится, осталось чувство незавершенности поставленной задачи.
9. ltfriend 412 05.02.14 18:30 Сейчас в теме
(8) lm7777, решение с папкой было найдено здесь
http://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64
к сожалению, более подробной информации дать не могу (
10. lm7777 05.02.14 18:38 Сейчас в теме
(9) спасибо. Ссылку видел, но то ли с английским плохо, то ли лыжи не едут... В общем в сути вопроса так и не разобрался. Оставлю в не решенных, так как в данный момент высокая загрузка на проектах. Когда-нибудь надеюсь до разберусь. Еще раз спасибо.
11. lm7777 05.02.14 18:41 Сейчас в теме
12. kiruha 380 06.02.14 12:49 Сейчас в теме
А зачем
ExcelApp = Новый COMОбъект("Excel.Application");ФайлExcel = ExcelApp.Workbooks.Open(ИмяФайла); // ОШИБКА!

а не
Excel= ПолучитьCOMОбъект(ИмяФайла)
13. siddy 415 26.03.14 15:55 Сейчас в теме
здесь есть подводный камень, с которым я довольно долго промучался - если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке и права для него мне так и не удалось настроить пока не переустановил Office


может быть дело в том, что по умолчанию отображаются только компоненты 64?
тогда можно так:
mmc -32
Файл, Добавить удалить оснастку, Службы компонентов
maslyann; +1 Ответить
14. capitan 1284 24.04.14 15:44 Сейчас в теме
Если основательно погуглить - найдется способ поставить 32-х разрядный офис на 64-х разрядный сервер.
15. manaxov83 44 26.06.14 14:35 Сейчас в теме
Респект ТЕБЕ, мои трех дневные танцы с бубном закончены))))
16. A.Golub 06.11.14 12:47 Сейчас в теме
Некрофилия, конечно, но вдруг кому пригодится.

ExcelApp = Новый COMОбъект("Excel.Application");

Вот эта строка должна выполнятся на стороне клиента. И такой ошибки ("Интерфейс не поддерживается") не будет. И все будет работать хорошо. Хотя через ADO работать будет быстрей, причем намного. Да и "отвязываешься" от установленного MS Office.
17. ltfriend 412 07.11.14 13:01 Сейчас в теме
(16) A.Golub, а как вы вызовете эту строку на стороне клиента, когда код выполняется на сервере? Например, в фоновом задании.
18. DikSer 01.12.14 07:33 Сейчас в теме
Товарищи этакая проблема, у меня файл непонятного формата, открывается екселем с руганью что файл не установленного формата, но табличка загружается, а вот ком и АДО не хотят этот файл открывать... Файл открыл текстовым редактором походу xml файлик. Возможно ли такой псевдо xls открыть через ком или адо как таблицу ексель?
19. jobkostya1c8 01.02.15 09:07 Сейчас в теме
20. 3abxo3 11.02.15 09:14 Сейчас в теме
Автору огромное спасибо! Решение с папкой C:\Windows\SysWOW64\config\systemprofile\Desktop помогло. Всю голову сломал, пока не прочитал статью.
23. Deda 116 08.04.15 08:46 Сейчас в теме
Автору благодарность! Помогло сэкономить много часов работы!
24. Deryni 23 14.04.15 13:43 Сейчас в теме
Спасибо большое за решение. Помогло создание папки как было описано для офиса 2010.
Столкнулся с таким. Но как ни странно на одном сервере проблем никаких не было. Папка создалась сама.
На другом - да.
Разница в том, что на одном сервер 1С крутится под системной учётной записью NTAuthority\System, а на другом (где была проблема) - под доменным admin.
На первом сервере ещё пришлось искать как установить под системной учётной записью принтер.
Если кому надо - решение тут
https://support.microsoft.com/ru-ru/kb/184291/en-us

Экселю нужен принтер если хочется устанавливать параметры страницы в файле.
25. rom-x 152 24.04.15 11:01 Сейчас в теме
C пунктом 5 не соглашусь
5. В окне сведений найти объект Microsoft Excel Application, щелкнуть его правой кнопкой и выбрать пункт Свойства (здесь есть подводный камень, с которым я довольно долго промучался - если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке и права для него мне так и не удалось настроить пока не переустановил Office).


Настройка реестра

Запускаем REGEDIT
Открываем ветку Computer\HKEY_CLASSES_ROOT\AppID\EXCEL.EXE, если ее нет, то создаем
Создаем в ней строковый параметр AppID = {00020812-0000-0000-C000-000000000046}
Выполняем команду "mmc comexp.msc /32", которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.
После этого в Component Services должен появиться "Microsoft Excel Application"
26. blackjack666 15 22.05.15 17:15 Сейчас в теме
Большое спасибо. Боюсь представить, сколько бы времени я потратил без вашей публикации.
27. fire_ball 10.06.15 11:53 Сейчас в теме
Очень выручили. Спасибо, что докопались!
28. ssk148819881 17.06.15 07:49 Сейчас в теме
Автор, большущий плюс тебе, сколько бы времени еще я промучилась с этим регламентным заданием
29. oleg_tur 11.08.15 21:08 Сейчас в теме
Спасибо, что докопались до решения и поделились) .. была такая же проблема мне помогло "для Windows Server x64 - C:\Windows\SysWOW64\config\systemprofile\Desktop" .
30. Захаров_Николай 7 26.08.15 11:10 Сейчас в теме
Я так предполагаю, что при открытии Excel открывает какое-нибудь окно и ждет ответа пользователя.
Да это действительно так. Частично поможет
Excel.DisplayAlerts = Ложь;
 Excel2.EnableEvents = Ложь;

Но есть сообщения которые нужно один раз все же в пользовательском режиме подтвердить. Возможно есть какая-то настройка. Но я не нашел.
31. Skotarev 9 08.10.15 17:08 Сейчас в теме
Спасибо. Взлетело с использованием способа - создание папки C:\Windows\SysWOW64\config\systemprofile\Desktop.
32. Dwarsha 30.12.15 17:04 Сейчас в теме
Спасибо огромное! 3 дня мучений, попыток обойти использование Экселя и созданий регламентных заданий, и наконец набрела на вашу статью.
Всего.одна.долбаная.папка..
Спасибо еще раз
33. Flares 01.02.16 18:12 Сейчас в теме
Супер Спасибо! У меня просто на сервере не работала загрузка, помогло:

C:\Windows\SysWOW64\config\systemprofile\Desktop
34. orsoft 23.03.16 23:38 Сейчас в теме
Спасибо!

Для Office 2013 помогло.

Но после исправления настроек "Службы компонентов..." и после создания Папок, мне пришлось перезагружать сервер, перезапус службы 1с не помог.
35. Hryuckinnen 19.05.16 19:50 Сейчас в теме
если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке

Команда mmc comexp.msc /32 вызывает ту же консоль для 32-разрядных компонентов, и Excel там будет.
А за папку спасибо)
36. mikolamail 06.06.16 19:38 Сейчас в теме
Ничего из вышеперечисленного не помогло.
Помогло:
В настройках DCOM, в свойствах объект Microsoft Excel Application,
на вкладке Удостоверение.
Поменять запускающий пользователь на Текущий пользователь
38. sound 529 29.07.16 10:22 Сейчас в теме
Блин, реально помогло с папками. Спасибо.
40. Rustam_a 11.08.16 14:47 Сейчас в теме
После установки office 2016 при загрузке Excel возникали подобные ошибки
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "C:\xls_test\test.xls". Это может быть вызвано одной из следующих причин.

• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.

Решение с созданием папки помогло и сэкономило кучу времени. Спасибо большое за статью!
42. qazaz2 11 25.11.16 13:28 Сейчас в теме
Автору спасибо, папка помогла.

Жаль только что последнее время гугль все успешнее заменяет мне моск(
43. xzorkiix 32 20.02.17 14:47 Сейчас в теме
Помогло. Столкнулись для Win2008 + excel2013. Спасибо! Магия с папками, моё почтение.

свои пять копеек критики - из текста не сразу понятно помогает трюк с папками или нет.

mkdir C:\Windows\SysWOW64\config\systemprofile\Desktop &&
mkdir C:\Windows\System32\config\systemprofile\Desktop
44. Захаров_Николай 7 20.02.17 15:40 Сейчас в теме
(43)
Этот трюк, с жесткой ссылкой всегда и везде помогает. (только обязательно с жесткой, а не символической).
45. MaxS 1732 20.02.17 18:56 Сейчас в теме
Ещё замечено (у клиентов)), что нелицензионный офис на сервере может нормально работать в пользовательском режиме и в тоже время выдавать ошибки при попытке работать с файлом через com или ado.
46. Захаров_Николай 7 20.02.17 20:22 Сейчас в теме
(45) Может все-таки это от сборки зависит?
47. BushNik 19.07.17 09:48 Сейчас в теме
Помогло следующее. В службах компонентов:
1. На вкладке Безопасность добавить права для пользователя от которого запускается Excel в Разрешения на запуск и активацию и в Разрешения на доступ.
2. На вкладке Удостоверение поставить Текущий пользователь.
Никаких папок desktop создавать не пришлось.
55. Mopkobo4ka 27 19.03.18 16:04 Сейчас в теме
(47) спасибо огромное! Словами не описать как вы помогли мне!
Создание папок не сработало. Только ваша рекомендация!
48. BushNik 21.07.17 09:49 Сейчас в теме
Магия какая-то, сегодня перестало работать. Начало выводить ошибку
{ВнешняяОбработка.Обработка1.МодульОбъекта(3460)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Не удалось найти "С:\Файл.xlsx". Проверьте правильность ввода имени и расположения файла.

При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.

В общем проблема была в том, что папка где лежит файл .xlsx была расшарена. Из-за этого не работало. Решил сохранением в не расшаренную папку и копированием потом в расрашенную.
49. Kennik 9 26.09.17 11:22 Сейчас в теме
Спасибо автору. Файл стал открываться.
50. Wrols 78 02.11.17 09:23 Сейчас в теме
Большое спасибо! Получилось!
51. AntonKulmetev 06.12.17 01:37 Сейчас в теме
Отлично!!! Все получилось! Работает! Спасибо большое!!!

Команда mmc comexp.msc /32 и права USR1CV8 (локальный запуск и локальная активация)
+
Права USR1CV8 на изменение папки C:\Windows\SysWOW64\config\systemprofile\Desktop
52. BoneD 615 11.12.17 11:51 Сейчас в теме
Спасибо!
Решил проблему работы с Excel в отраслевой конфигурации Аренда недвижимости. Сервак х64, тонкий клиент х86. Ошибка при попытке открыть файл xls. Оказалось достаточно создать каталог "C:\Windows\SysWOW64\config\systemprofile\Desktop" и всё заработало. Сервак 1С запускается под доменной учёткой, у него права админа даже есть.
53. Chebureck 23.01.18 12:04 Сейчас в теме
Автору огромное спасибо!
54. setrak 143 21.02.18 11:22 Сейчас в теме
Добрый день, друзья.
У меня была тоже ошибка при открытии файла эксель в фоновом режиме: .... Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу ....
Перепробовал все что написано, не помогло. сервер 1с и эесель 64 бита и т.п.
В конце концов оказалась проблема в учетной записи. Настроил запуск DCOM от системной учетной записи, и все заработало.
Прикрепленные файлы:
56. uri1978 126 16.05.18 15:57 Сейчас в теме
Автору спасибо! Здорово помогли.
57. tSirkul 20.07.18 14:26 Сейчас в теме
Докладываю: аналогичная проблема при коннекте к V83.Application
---
Ошибка при вызове метода контекста (Connect)
...
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.10.xxxx): Ошибка доступа к файлу 'C:\Windows\system32\config\systemprofile'. 183(0x000000B7): Невозможно создать файл, так как он уже существует.
---
решилась в итоге явным указанием пользователя от которого системе следует запускать 1CV83 Application.
Рекомендации из статьи были выполнены, но сами по себе, без указания пользователя, не помогли.
Прикрепленные файлы:
58. Xellsing 26 07.05.19 01:12 Сейчас в теме
Автору респект. Решение с папкой C:\Windows\SysWOW64\config\systemprofile\Desktop помогло
59. maslyann 1 17.07.19 13:58 Сейчас в теме
Всё проделал, но не особо помогло.
Появилась ошибка "недостаточно места".
В итоге в Excel ещё настройки безопасности. Убрать галочки со всех пунктов на скрине.
И все взлетело:)
Прикрепленные файлы:
60. eridy 26.07.19 06:10 Сейчас в теме
Супер ! Три дня бился пока на статью не вышел. Спасибо автору.
61. Serg O. 172 18.09.19 14:32 Сейчас в теме
После создания COM-объекта - надо отключить ВСЕ предупреждения :

Excel.DisplayAlerts = 0; //29.07.2019


и ещё, для Office 2016? - идёт проверка "валидности" файлов... надо включить FileValidation=1

Excel.FileValidation = 1;

источник: https://forum.infostart.ru/forum9/topic150921/ #16
62. Gendelf 16.10.19 14:27 Сейчас в теме
Проблема решилась в службе компонентов, но кроме разрешения на запуск добавьте ещё права на доступ. Нигде про это не пишут, но именно это мне и помогло.
Оставьте свое сообщение

См. также

Выгрузка из 1С номенклатуры со штрихкодами без программирования 3

Статья Программист Пользователь Стажер Нет файла v8 УТ11 Россия Бесплатно (free) Загрузка и выгрузка в Excel Внешние источники данных

Я так и не смог найти простой инструкции или обработки, чтобы выгрузить из 1С: Управление торговлей 11 номенклатуру вместе со штрихкодами, поэтому решил написать собственную инструкцию.

28.08.2019    1670    user1114182    4       

Загрузка картинок в справочники (Универсальная загрузка из табличного документа) 8

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Обработка справочников Загрузка и выгрузка в Excel

Пример загрузки картинок в справочник Номенклатура (с помощью обработки универсальная загрузка данных из табличного документа). Проверялось на конфигурации УТ 11.4.7.

28.05.2019    2156    rasdag    2       

Преобразование EXCEL в таблицу значений без COM и других извращений 208

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Получение таблицы значений из excel в 1С v8, без COM, внешних источников данных и т.д. EXCELВТаблицуЗначений() - За 10 строчек кода! Реализация протестирована на 1С 8.3.12.1714 (x64).

18.04.2019    12208    9    Eret1k    43       

Копирование числовых ячеек из 1С в Excel 26

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel Администрирование данных 1С

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

15.01.2019    10596    itriot11    21       

Запись одной книги Excel на нескольких листах средствами 1С (без внешних компонент) 140

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Пользователи часто просят сохранить им стопиццот отчетов в один файл Excel, чтобы отчеты были в одном файле. Ну или клиент хочет счет, накладную и счет-фактуру получить в одном документе. 1С умеет это делать без всяких там COM-объектов. Давайте разберемся, куда нажимать и что крутить.

14.01.2019    11789    starik-2005    23       

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д) 35

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д). На примере загрузки в табличную часть документа Поступление товаров и услуг в УТ 11.4.

09.01.2019    6790    rasdag    14       

Работа с Excel через COM 20

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Несколько примеров работы с excel (ms office 2010, в моем случае) через COM.

01.10.2018    5102    jaroslav.h    0       

Выгрузка в Excel с использованием формата OpenXML, разбор файла sheet1.xml 13

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Судя по количеству просмотров темы https://infostart.ru/public/900022/ решил описать структуру файла Листа excel. На полноту не претендую, опишу то, что знаю.

21.09.2018    4164    user1045404    2       

Excel: создание в формате xlsx без COM технологии 112

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

По работе приходится часто выгружать данные в Excel формате. При большом количестве строк и формул этот процесс достаточно длительный. Решил написать для своих целей небольшую библиотечку для выгрузки данных. Используется технология open-xml. Никаких библиотек не надо, пишу напрямую в xml файлики. На данном этапе сделано форматирование, формулы.

10.09.2018    7746    user1045404    16       

Из Excel в 1С запросом 33

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

... ну, конечно, не прям так типовым языком запросов, а расширенным языком запросов. Речь пойдет о том, как "залить" данные в таблицы 1С и не пилить при этом бесконечного количества наколеночных обработок.

14.08.2018    13625    m-rv    5       

Загрузка из Excel в управляемом приложении 25

Статья Программист Нет файла v8::УФ Windows Бесплатно (free) Загрузка и выгрузка в Excel

С появлением управляемого интерфейса стали актуальными вопросы в давно освоенных приемах работы. В частности, загрузка из файла.

30.11.2017    21777    alex_bitti    15       

Функция сохранения картинок из книги Excel в каталог с определением координат на листе 8

Статья Программист Нет файла v8 Бесплатно (free) Загрузка и выгрузка в Excel Универсальные функции

Разбор файла *.xlsx как Web-архива, выгрузка изображений без потери качества, с определением положения изображений.

12.11.2017    7173    user634820_zergemoth    1       

Работа с Excel 289

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Собрал различные полезности для работы с Excel из 1С. Иногда приходится форматировать документ Excel программно из 1С. Так вот, чтобы не искать постоянно на просторах интернета как сделать левое выравнивание в ячейке Excel из 1С и т.п. решил опубликовать это...

23.10.2017    24979    arakelyan    39       

Невалидный XLSX при сохранении Табличного документа 3

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Ошибка открытия XLSX файлов, созданных при сохранении Табличного документа. (Невалидный формат файла)

21.10.2017    8834    saddy    3       

Почему при загрузке таблицы Excel в 1С возникают ошибки? 9

Статья Программист Нет файла v8 Бесплатно (free) Загрузка и выгрузка в Excel

При загрузке из EXCEL в 1С методом MS ADODB.Connection столкнулся с некоторыми проблемами, которые попытался устранить в ниже приведенной статье. Надеюсь, что статья поможет вам сократить время разработки.  Особая благодарность Андрею М. за публикацию //infostart.ru/public/163640/

28.04.2017    12448    dakork    4       

Загрузка значений свойств номенклатуры в Альфа-Авто с использованием обработки загрузки данных из табличного документа 15

Статья Программист Руководитель проекта Нет файла v8 1cv8.cf Автомобили, автосервисы Россия УУ Windows Учет ТМЦ Бесплатно (free) Загрузка и выгрузка в Excel

В публикации будет рассмотрено использование встроенной в отраслевую конфигурацию Альфа-Авто обработки по загрузке данных из табличного документа для заполнения значений дополнительных свойств номенклатуры.

13.10.2016    14237    miavolas    15       

Решение проблемы медленной загрузки из файла Excel, защищенного паролем 11

Статья Программист Нет файла v8 Россия Бесплатно (free) Загрузка и выгрузка в Excel

Столкнулся с проблемой загрузки из файла Excel. Загрузка занимала около получаса и не всегда заканчивалась успешно. Решение проблемы изложу в данной статье.

27.09.2016    7952    HAMMER_59    4       

Быстрая выгрузка больших плоских отчетов в Excel 22

Статья Программист Нет файла v8 Windows Бесплатно (free) Загрузка и выгрузка в Excel

Предлагаю способ для того, чтобы быстрее выгружать большие плоские отчеты из 1С 8 в Excel, без использования оперативной памяти на сервере и на клиенте, что очень важно, поскольку помогает избежать ошибок вида "Недостаточно памяти на клиенте" или "Недостаточно памяти на сервере". Не использует внешние компоненты. Минусы в том, что отчет выходит неформатированный, приходится настраивать ширину колонок, закрашивать границы, шрифты, жирность и т.п. Но когда отчет, выгружавшийся 3 часа, выгружается 20 минут, эти проблемы мои клиенты считают несущественными.

29.11.2015    12928    matveev.andrey.v    17       

Экспорт нескольких MXL таблиц в один XLS файл, на отдельные листы. Простой алгоритм 20

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).

23.11.2015    13976    etmarket    14       

Внедрение адресного склада в логистическом операторе 25

Статья Системный администратор Программист Бизнес-аналитик Пользователь Нет файла v8 v8::ОУ УТ11 Оптовая торговля, дистрибуция, логистика Россия УУ Windows Оптовая торговля Розничная торговля Учет ТМЦ УСН Бесплатно (free) Загрузка и выгрузка в Excel Бухгалтерский учет Рабочее место

Каких-то 10 лет назад бюджет внедрений адресных складов составлял десятки тысяч долларов и месяцы работ целой команды, а теперь - типовое решение от 1С вполне рабочее и без кастомизации: немного интеграции, немного консультирования – и в продуктив. Внедрение адресного склада, в массе внедрений 1С:Управление торговлей, ред. 11.1 (далее УТ), штука до сих пор довольно-таки редкая. Данная статья описывает опыт одного маленького, но свежего внедрения адресного склада в УТ (11.1.10) и может быть интересна как практический кейс.

1 стартмани

10.08.2015    18411    papche    12       

Выгрузка таблицы значений в Excel 30

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Примитивно, грубо, без дизайна, но очень быстро.

28.06.2015    17155    Yashazz    31       

Скорость закачки с EXCEL при работе с большими файлами 26

Инструменты и обработки Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Производительность и оптимизация (HighLoad) Загрузка и выгрузка в Excel

Поставлена задача уменьшить время загрузки данных с EXCEL. Пока ждал ответа от разработчиков ядра, сам начал копать всё, что угодно. ЗАДАЧА решена, с чем спешу поделиться.

09.06.2015    13786    ybatiaev    31       

Чтение из Эксель-файла 9

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Некоторые выдержки из моих наработок, связанных с работой 1С и приложений майкрософт-оффис

26.05.2015    9960    nikitin19819    7       

Загрузка из EXCEL в 1С на платформе 8.3.6/8.3.7/8.3.8/8.3.9/8.3.10 (с картинками) 319

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Импорт содержимого из файлов в форматах XLS (Microsoft Excel 97), Microsoft Office OpenXML (Microsoft Excel 2007- 2010) и ODS (OpenDocument) в таблицу значений.

06.04.2015    206309    StepByStep    72       

Вывод таблицы значений в Excel 17

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Изложена методика вывода таблицы значений в Excel с помощью именованных ячеек.

21.01.2015    13215    scientes    6       

Хитрости сохранения табличного документа в Excel для дальнейшей работы с ним 78

Статья Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Все пользователи 1С всех версий (начиная с 7-й) сталкиваются с проблемой нормальной работы с данными, сохраненными в Excel файл. Есть некоторые хитрости, которые позволяют облегчить работу с сохраненными данными из 1С в формат Excel.

16.01.2015    70992    shmellevich    35       

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ПостроительDOM 100

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Универсальные обработки Загрузка и выгрузка в Excel Обмен через XML

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ПостроительDOM). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент", а также изображения.

11.09.2014    63384    StepByStep    26       

Простой способ программного сохранения больших отчетов из СКД в формат Excel 39

Статья Программист Нет файла v8::СКД 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel Универсальные функции

Перерыв весь интернет не смог найти простого способа сохранить отчет с большим числом строк в формате Excel. Везде предлагалось писать процедуры построчной записи, ADO, COMSafeArray и прочее. Метод же, используемый во всех найденный публикациях "Результат.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLSX)", не работает при большом числе строк. Публикация http://infostart.ru/public/77128/ натолкнула на простую идею, которую и реализовал.

07.08.2014    27231    den_valley    14       

Преобразование Универсального отчета в сводную таблицу Excel. 6

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Тем, кто часто пользуется сводной таблицей Excel, неудобно использовать формат, который получается на выходе универсального отчета. т.к. Универсальный отчет строится с группировками, а данные для сводной таблицы нужны в плоском виде.

16.06.2014    14500    Mos    4       

Как предотвратить возникновение ошибки при одновременном обращении пользователя и обработки к Excel. 41

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Если открыт (или открыть) файл Excel (к которому будет обращаться обработка), и активировать какую-либо ячейку или любое диалоговое окно и при этом обработка обратится к этому файлу, то возникнет ошибка. Так же, ошибка может возникнуть, если обработка запустила один экземпляр Excel, если пользователь, во время работы обработки откроет другой файл Excel или тот, к которому обращается обработка, то этот файл откроется в том же экземпляре приложения Excel и тогда опять возможна ошибка. Как этого избежать?

30.03.2014    16780    akor77    13       

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ЧтениеXML 165

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel Обмен через XML

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ЧтениеXML). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент".

01.11.2013    96954    StepByStep    73       

Выгрузка Таблицы значений из 1С 8 в Excel с помощью MS ADO 38

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Функции для выгрузки Таблицы значений из 1С 8 в таблицу Excel с использованием объектов Microsoft ActiveX Data Objects (ADO) и Microsoft ActiveX Data Objects Extensions (ADOX).

10.06.2013    23778    AzagTot    17       

Подсистема "COMExchange": прямой доступ к EXCEL через ADO 8

Статья Системный администратор Программист Нет файла v8 1cv8.cf УТ10 УПП1 Россия Windows Бесплатно (free) Файловые протоколы обмена, FTP Загрузка и выгрузка в Excel Внешние источники данных

На примере этой, очень популярной, темы наглядно продемонстрированы нетривиальные возможности консоли запросов в составе подсистемы: 1. использование событий выполнения запроса (в том числе для запуска на выполнение других запросов) 2. запуск на выполнение запроса в цикле с подстановкой значений параметров из таблицы значений.

20.01.2013    21238    yuraos    7       

Загрузка из EXCEL в 1С. Список листов EXCEL 34

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Универсальные обработки Загрузка и выгрузка в Excel Обмен через XML

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Методы получения списка листов файлов типа EXCEL. Поддерживаемые типы: *.xls,*.xlsx,*.ods,*.sxc.

30.11.2012    45788    StepByStep    5       

Функция получения массива из Экселя 18

Статья Программист Нет файла v8 Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel Универсальные функции

Функция, возвращающая содержимое эксель-файла в виде массива структур (работает в тонком клиенте и может результат передавать на сервер)

21.10.2012    5457    yermak    5       

Загрузка материалов из программы Командор Дизайнер в 1С: Бухгалтерия 8. 4

Статья Системный администратор Программист Нет файла v8 БП2.0 Россия БУ Windows Учет ТМЦ Бесплатно (free) Пользователю системы Загрузка и выгрузка в Excel Внешние источники данных

Komandor Designer - программа для проектирования шкафов купе. Ее используют многие предприятия, которые производят мебель. Также они используют для учета программу 1С. Поэтому возникает проблема обмена данными между этими программами. Что важно для плодотворного общения двух людей — правильно — они должны понимать друг друга, разговаривать на одном языке. То же правило и в нашем случае, программы должны одинаково правильно понимать, какой материал находится в заказе, расходе сырья по заказу.

22.08.2012    9353    knigula    1       

Обработка событий документов MS Office из 1С8.х. и кольцевые ссылки. 11

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Обработка событий документов MS Office из 1С8.х. Возникновение кольцевых ссылок при работе с документами MS Office из 1С8.х

18.07.2012    8239    План счетов    1       

Выгрузка данных в Excel 30

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel

Часто в ходе работы в 1С требуется выбирать данные одновременно из разных источников (справочников, документов, регистров и т.д.) и сохранять эту сводную информацию в формате Excel (*.xls) или Табличных документов 1С (*.mxl). Затем, с помощью универсальной обработки "Загрузка данных из табличного документа", можно загрузить данные, например, в другую базу. В данной статье представлен метод выгрузки информации во внешнюю таблицу через Табличный Документ с сохранением форматов данных.

15.06.2012    38172    volconok27    12       

Чтение файлов *.xlsx средствами 1С 8.2 134

Инструменты и обработки no Внешняя обработка (ert,epf) v8 1cv8.cf Россия Бесплатно (free) Загрузка и выгрузка в Excel

Формат файлов *.xlsx представляет собой фактически ZIP-архив, внутри которого находятся xml-файлы, что позволяет считывать значения ячеек исключительно средствами 1С 8.2

13.06.2012    31444    1249    Abadonna    43       

Функция получения таблицы значений из файла Excel 30

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel Универсальные функции

Функция получения таблицы значений из файла Excel. Использует запрос в среде самого Excel. Параметры функции: ПутьКФайлу (строка) - полный путь к файлу Excel ИмяНомерСтраницы - имя (строка) или порядковый номер (число) страницы файла Excel Заголовок (булево) - является ли первая строка строкой заголовка. Если Истина, то колонки будущей ТЗ проименуются из строки заголовка Excel, если Ложь, то колонки проименуются системно "F1", "F2" и т.д ПерваяСтрока (число) - номер первой строки считывания с листа Excel ВАЖНО!!! Типы колонок будущей ТЗ будут определяться типом первой строки данных Excel (именно данных, не заголовка). Поэтому важно соблюдать в Excel тип колонок данных Функцию достаточно разместить в общем модуле своей конфигурации.

31.05.2012    26583    sbv2005    8       

Обработка «Загрузка данных из табличного документа». Пример настроек и использование. 33

Статья Системный администратор Программист Нет файла v8 1cv8.cf Учет ТМЦ Бесплатно (free) Инструментарий разработчика Загрузка и выгрузка в Excel

Данный пример будет полезен программистам 1С и специалистам по «Управлению торговлей», которым необходимо автоматизировать загрузку в справочники и документы из внешних табличных документов. В частности тем, кому необходимо загрузить товары в документ «поступление товаров и услуг» из электронной накладной в формате xls.

30.05.2012    24955    sabob    6