[ExcelEditor] Чтение/запись файла Excel напрямую из 1С без Excel (формат 97/2003)

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

Разработка - Разработка внешних компонент

112
Чтение и запись файла Excel напрямую из 1С

Компонента читает и редактирует напрямую файл Excel без загрузки самого Excel (формат Microsoft Office 97/2003)

В продолжение развития проекта чтения из Excel "напрямую" //infostart.ru/projects/621/


*** Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.

Чтобы зарегистрировать компоненту в Windows - запустить reg.bat
или использовать совместно с хранилищем внешних компонент.


ПОДКЛЮЧЕНИЕ КОМПОНЕНТЫ В 1С:

  ИмяВК="AddIn.ExcelEditor";
 
  Попытка
      ПодключитьВнешнююКомпоненту(ИмяВК);
  Исключение
      Предупреждение("Не удалось подключить компоненту " + ИмяВК);
  КонецПопытки;
 
  Попытка
      Экзель = Новый(ИмяВК);
  Исключение
      Предупреждение("Ошибка создания объекта внешней компоненты: " + ИмяВК);
  КонецПопытки;

*** Методы:

//ОТКРЫТИЕ ФАЙЛА:
Экзель.ОткрытьФайл(Файл); // возвращает значение типа булево;

//ПОЛУЧЕНИЕ КОЛИЧЕСТВА ЛИСТОВ
КоличествоЛистов = Экзель.ПолучитьКоличествоЛистов();

//ОТКРЫТИЕ ЛИСТА
Экзель.ОткрытьЛист(НомерЛиста); // возвращает значение типа булево;

//ПОЛУЧЕНИЕ КОЛИЧЕСТВА КОЛОНОК
КоличествоКолонок = Экзель.ПолучитьКоличествоКолонок();

//ПОЛУЧЕНИЕ КОЛИЧЕСТВА СТРОК
КоличествоСтрок = Экзель.ПолучитьКоличествоСтрок();

//ПОЛУЧЕНИЕ ЗНАЧЕНИЯ ЯЧЕЙКИ
ЗначениеЯчейки = Экзель.ПолучитьЗначениеЯчейки(НомерСтроки, НомерКолонки);

//ПОЛУЧЕНИЕ ЗНАЧЕНИЯ ЯЧЕЙКИ В ФОРМАТЕ ДАТА
ЗначениеЯчейки = Экзель.ПолучитьЗначениеЯчейкиДата(НомерСтроки, НомерКолонки);

//ОЧИСТКА ПАМЯТИ
Экзель.Выполнено();

//ДОБАВИТЬ ЛИСТ
Экзель.ДобавитьЛист(ИмяЛиста);

//РЕДАКТИРОВАТЬ ЯЧЕЙКУ
Экзель.РедактироватьЗначениеЯчейки(Строка, Колонка, Значение);

//РЕДАКТИРОВАТЬ ЯЧЕЙКУ С ФОРМАТИРОВАНИЕМ
Экзель.РедактироватьЗначениеЯчейкиСФорматированием(Строка, Колонка, Значение, СтрокаФорматирования);

//РЕДАКТИРОВАТЬ ШИРИНУ КОЛОНКИ
Экзель.РедактироватьШиринуКолонки(СКолонки, ПоКолонку, Ширина);

//ЗАПИСАТЬ
Экзель.СохранитьФайл(ПутьКФайлу);

//ПОИСК ЯЧЕЙКИ:
Экзель.НайтиЯчейку(ЗначениеЯчейки, НомерНачальнойСтроки); 
//возвращает пустую строку, если не найдено или  номер строки и номер колонки через запятую, если найдена.
112

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

Наименование Файл Версия Размер
Версия 1.0.0.2
.1235467249 62,47Kb
25.09.09
1197
.1235467249 62,47Kb 1197 Скачать бесплатно

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

Комментарии
Избранное Подписка Сортировка: Древо
1. Душелов 3897 08.01.09 02:43 Сейчас в теме
Оптимизировано чтение, в примере добавлен пример формирования файла "с нуля".
7. lord_papa 11.01.09 10:33 Сейчас в теме
(1) >добавлен пример формирования файла "с нуля".
Очень хотелось бы, чтобы Экзель мог читать + редактировать и сохранять. Набрал:
Рез = Экзель.ОткрытьФайл("c:\test.xls");
Рез = Экзель.ОткрытьЛист(1);
Экзель.РедактироватьЗначениеЯчейки(0, 1, 777);
Экзель.СохранитьФайл("c:\test.xls");
ЗапуститьПриложение("c:\test.xls");
Выдает
ExcelEditor : Значение не может быть неопределенным.
Имя параметра: key.

Подскажи плииз, что не так
З.Ы. Клиент присылает прайс.xls, читаю Экзелом, а хотелось бы подправить этот же и сохранить
8. Душелов 3897 11.01.09 10:56 Сейчас в теме
(7) Исходников под рукой сейчас нет. Вечером тогда обновление залью.
2. MrDen 08.01.09 23:39 Сейчас в теме
Упрощает работу. Сам же ADO использую и листы перебирает, и открывает, и грузит быстро. Есть конечно ньансы но и их можно учесть
3. Душелов 3897 08.01.09 23:48 Сейчас в теме
(2) на счет скоростей стоит почитать комменты к первой разработке, там в свое время народ занимался расчетом времени работы.
4. MrDen 09.01.09 00:16 Сейчас в теме
(3) в сравнении с Excel.Application :-) конечно от которого пришлось отказаться при чтении более 32000 строк
9. shard 251 13.01.09 13:24 Сейчас в теме
(4) - насчет времени чтения таких объемов: чтение файла 16000 строк 30 столбцов (8,5мб) из восьмерки через CSA массив - 10 секунд на средней машине....
5. jem 83 10.01.09 14:47 Сейчас в теме
Вот бы еще при выделении строк колонки, где-нибудь суммировались значения. Мелочь, но приятно. )
6. Душелов 3897 10.01.09 14:59 Сейчас в теме
(5) Где? В примере? В табличном документе? Так все в ваших руках! :)
10. Душелов 3897 13.01.09 13:31 Сейчас в теме
11. MrDen 13.01.09 13:43 Сейчас в теме
(10) - Color Space Array — Массив цветового пространства может это?
12. MadKlop 14.01.09 10:43 Сейчас в теме
Как установить сие чудо в Висту? :)
13. Душелов 3897 14.01.09 10:46 Сейчас в теме
14. MadKlop 14.01.09 11:56 Сейчас в теме
ругается на параметр /codebase говорит что устанавливаемый компонент не подписан, задайте постоянное имя и повторите попытку, пришлось выгрузить ключи реестра из ХР и влить в Висту :)
16. Душелов 3897 14.01.09 12:06 Сейчас в теме
(14) Это все нормально. Никакие ключи реестра не нужны.
15. MadKlop 14.01.09 11:58 Сейчас в теме
так что к бат файлу лучше еще рег файлы прикрепить для висты, или "задать постоянное имя..." :)
17. Душелов 3897 14.01.09 12:06 Сейчас в теме
Я подпишу компоненту при следующем обновлении.
18. dma.tmb@mail.ru 15.01.09 14:13 Сейчас в теме
вываливает ошибку при выполнении с файлом в котором ячейки выделены цветом
ExcelEditor : Image Type Not supported.
19. Душелов 3897 15.01.09 14:18 Сейчас в теме
(18) Пришлите файл мне на vasil(сабака)dushelov.ru
20. dma.tmb@mail.ru 15.01.09 17:31 Сейчас в теме
Изиняюсь, выяснил в файлах с вставленными формулами, файл высылаю!
21. Душелов 3897 15.01.09 20:09 Сейчас в теме
(20) Ругался на картинку на 2 листе (стрелка).
22. Душелов 3897 15.01.09 22:15 Сейчас в теме
Обновил. Файл редактируется, но пока теряется формат ячеек.
Ковыряю формат дальше...
lord_papa; +1 Ответить
23. Aloger 21.01.09 09:51 Сейчас в теме
А Microsoft .NET Framework 3.0 или 3.5 для работы компоненты подойдет? Или только 2.0? Какую версию лучше использовать для вашей обратки?
24. Душелов 3897 21.01.09 10:12 Сейчас в теме
(23) Все версии фреймворка поддерживают старые.
25. Aloger 22.01.09 07:03 Сейчас в теме
После установки Microsoft .NET Framework 2.0 и регистрации вашей компоненты при отладке кода с использованием вашей компоненты Конфигуратор и/или Предприятие разукрашивается различными цветами.
Как установка и регистрация повлияют на работу 1с в клиент-серверном варианте? Какие ошибки или сбои в работе возможны?
26. Душелов 3897 22.01.09 09:08 Сейчас в теме
27. Душелов 3897 13.02.09 19:34 Сейчас в теме
Для получения демо-версии или покупки обращайтесь по контактам, указанным в профиле.
28. diman jah 18.02.09 22:04 Сейчас в теме
нужна функция поиска
Функция глНайтиВЭксель(range, what, precision = 1, column = 0) Экспорт
//поиск в ole-excel
//
//возвращает число - номер строки в excel, содержащей найденную ячейку
//или 0, если ничего не найдено
//
//range - (ole-объект), область в excel, по которой производится поиск
//what - (число, строка, или дата), что ищем
//precision - 0-первое вхождение, 1-равенство what и значения ячейки
//column - отсюда можно считать номер колонки, с найденной ячейкой
//
Попытка
cell=range.find(what)
Исключение
Возврат 0;
КонецПопытки;

Если (what = cell.value)ИЛИ(Число(what) = Число(cell.value))ИЛИ(Строка(what) = Строка(cell.value)) Тогда
Возврат cell.row
КонецЕсли;;

Если (ПустоеЗначение(cell) = 0) Тогда
Если (precision = 0) Тогда
column = cell.column;
Возврат cell.row;
КонецЕсли;

fstAddress = cell.address;

Пока (ПустоеЗначение(cell) = 0) Цикл
cell = range.findNext(cell);
Если (cell.address = fstAddress) Тогда
Возврат(0);
Прервать;
КонецЕсли;
Если (what = cell.value)ИЛИ(Число(what) = Число(cell.value))ИЛИ(Строка(what) = Строка(cell.value)) Тогда
column=cell.column;
Возврат cell.row;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат 0;
КонецФункции
29. Душелов 3897 18.02.09 22:07 Сейчас в теме
Читаем в ТЗ, добавляем индексы, ищем...
30. Душелов 3897 18.02.09 22:11 Сейчас в теме
Хотя ради интереса замерить скорости можно, искать в 1С-е, или искать в массиве данных в компоненте...
31. Душелов 3897 24.02.09 12:21 Сейчас в теме
Обновил, исправил найденные ошибки при редактировании файла.
32. Душелов 3897 24.02.09 12:59 Сейчас в теме
Добавил:

ПОИСК ЯЧЕЙКИ:

Экзель.НайтиЯчейку(ЗначениеЯчейки, НомерНачальнойСтроки); //возвращает пустую строку, если не найдено или номер строки и номер колонки через запятую, если найдена.
33. diman jah 25.02.09 23:16 Сейчас в теме
может сделать по-человечески, аналогично
ТаблицаЗначений.НайтиЗначение(<Знач>,<Строка>,<Колонка>)
Возвращает число: 0 - значение не найдено; 1 - значение найдено
<Строка> - идентификатор переменной, куда возвращается номер найденной строки. Если при вызове метода передать в этот параметр номер строки, то поиск будет осуществляться только по указанной строке.
аналогично <Колонка>

Нет смысла искать по всему листу, а потом анализировать то или не то нашлось
34. White__ 18.03.09 22:25 Сейчас в теме
а мне нельзя скачать, я рейтингом не вышла :(((
35. mrd2008 62 29.03.09 10:40 Сейчас в теме
Открытие листа не срабатывает для версии 7.7. Вероятно потому, что значение типа булево нет в 7.7. При выполнении метода выдается сообщение вида:
Ошибка при выполнении метода объекта компоненты <Неизвестная компонента>
Это как-то лечится?
36. Ужас бухгалтера 221 29.03.09 11:11 Сейчас в теме
(35) Have fun, возьми Йоксель: http://yoksel.net.ru/HomePage
Читает/пишет напрямую файлы Excel. Работает и в 7.7 и в 8.х. Сохраняет форматирование. Конвертирует из XLS в MXL и обратно. Ну и еще кое-что (на сайте все написано)... Для скачивания рейтинг не требует. :)
37. Aloger 28.04.09 07:49 Сейчас в теме
При сохранении из 1с создается документ без листов. В него записываются данные.Документ записывается.

Как получит данные из документа в котором нет листов?
38. Noy 1062 28.04.09 12:04 Сейчас в теме
(37) С чего ты взял что документ без листов?

-Видишь суслика?
-Нет.
-И я не вижу, а он есть!
(с)ДМБ
39. Aloger 29.04.09 06:27 Сейчас в теме
Вопрос снят.

Программист поставщика переделал выгрузку данных из 1с в документ Excel.
1)Записывается документ Excel без листов.
2)Создается новый документ Excel с листами.
3)Данные из 1го документа записываются новый.
4)Новый документ пересылают нам.
40. Aloger 20.05.09 05:21 Сейчас в теме
Василий, вы получили мои письма? Жду ответа.
41. Душелов 3897 20.05.09 09:12 Сейчас в теме
(40) Нет, ничего не было. Было только пустое письмо.
Сюда ссылку на файл выложите.
43. Душелов 3897 21.05.09 09:24 Сейчас в теме
(42) А в чем проблема с ним? Открывается спокойно даже демо-обработкой.
45. faleks 21.05.09 10:11 Сейчас в теме
46. Душелов 3897 21.05.09 10:13 Сейчас в теме
(45) Ну разговор был, что из компоненты этот файл не читается.
44. faleks 21.05.09 09:39 Сейчас в теме
Aloger
Проблема решается просто. Открываешь файл в EXEL. Заходишь «Сервис» - «Параметры» закладка «Вид» ставишь галочку «ярлычки листов».
47. Aloger 25.05.09 05:18 Сейчас в теме
Файл читается, а все остальные файлы уже удалили :( . Как только появится такая проблема сообщу.
Прошу прощения за беспокойство.
48. Aloger 26.05.09 11:57 Сейчас в теме
Нерабочий файл. Помогите, пожалуйста.
http://slil.ru/27694302
49. Душелов 3897 26.05.09 15:07 Сейчас в теме
(48) Это формат Excel 5/95, а данная компонента только для 97/2003.
50. manan 27.07.09 23:07 Сейчас в теме
с картинками, похоже, не умеет работать?
51. Душелов 30.07.09 11:44 Сейчас в теме
52. fotya 03.09.09 12:20 Сейчас в теме
Здравствуйте!
Подскажите, пожалуйста, есть ли в обработке возможность обращения к листу по его имени, а не по номеру и НайтиЯчейку в которую есть вхождение значения а не 100% совпадение?
53. Душелов 03.09.09 12:22 Сейчас в теме
(52) По имени - нет. А искать ячейки - выгружаете данные с листа в ТЗ и там уже средствами 1С ищете то, что нужно.
54. ежист 28.12.09 09:28 Сейчас в теме
Как вывести жирным шрифтом?
Как вывести формулу?
maksa2005; serega7; +2 Ответить
55. Душелов 28.12.09 09:34 Сейчас в теме
56. ежист 28.12.09 10:33 Сейчас в теме
жалко, без выделения жирным шрифтом - не читабильно для пользователей получается.
57. ежист 28.12.09 10:35 Сейчас в теме
понравилось что работает все очень быстро, жалко из-за оформления отказываться от компоненты!
58. Душелов 28.12.09 10:44 Сейчас в теме
(57) Основная идея компоненты - чтение, и запись для больших объемов данных, при использовании обменов и т.п.. Оформление и прочее - с этим сама 1С справляется.
59. boy13 168 15.02.10 12:46 Сейчас в теме
(58) вот как раз на больших объемах и загибается... говорит, Exception... OutOfMemory... :(
60. SEREGIK 13.04.10 17:01 Сейчас в теме
> Экзель.РедактироватьЗначениеЯчейкиСФорматированием(Строка, Колонка, Значение, > СтрокаФорматирования);

а как заранее получить эту строку форматирования ?
61. SEREGIK 14.04.10 10:23 Сейчас в теме
и как сделать чтобы не слетало форматирование во всем файле Excel ?
62. Magister 133 05.08.10 17:11 Сейчас в теме
Вылетает на защищенном файле с ошибкой:
ExcelEditor : Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index.

Файл сформирован из 1С через OpenOffice.org 3.1
Куда можно его выслать?
63. turbomilo@mail.ru 10.09.10 10:45 Сейчас в теме
Кое-что накопал про строку форматирования для:
"Экзель.РедактироватьЗначениеЯчейкиСФорматированием(Строка, Колонка, Значение, > СтрокаФорматирования);"
см. здесь - http://www.mvps.org/dmcritchie/excel/colors.htm
От себя, получилось только изменить цвет шрифта (СтрокаФорматирования="[magenta]@"), дальше не разобрался нет времени.
Еще один момент в старых версиях Excel есть функция "GetFormat(cell)" - которая должна показывать строку форматирования для ячейки, кое-что по этому поводу здесь: http://www.mvps.org/dmcritchie/excel/formula.htm#GetFormat.
64. turbomilo@mail.ru 10.09.10 10:51 Сейчас в теме
И еще, в конце концов, я отказался от использования этого модуля для выгрузки в Excel файл, использую ТабличныйДокумент, там с форматированием все проще. Для выгрузки в Excel: ТабличныйДокумент.Записать(ИмяФайлаВФорматеXLS, ТипФайлаТабличногоДокумента.XLS);.
---------------------------------------------------------------------------------
1С v8.1
67. cool.vlad4 45 10.02.11 13:55 Сейчас в теме
(0) Это случаем не Excel Library?
69. reaper2011 23.03.11 20:47 Сейчас в теме
при загрузке файла появляется ошибка (скрин во вложении), что это может быть?
Прикрепленные файлы:
70. Alex1967 18.05.11 16:24 Сейчас в теме
Пример ошибки и решения:
Server 2003 SP2. Обновлялся с MS автоматом. Стоял Net 2,3,3.1

При регистрации reg.bat ругался на отсутствие одной из компонент (по памяти пишу).
Обрабока 1С, использующая ExcelEditor писала
Ошибка создания внешней компоненты AddIn.ExcelEditor

Снес все Framework начиная c последнего, установил .Net Framework 2.0 по ссылке в readme.txt,
отключил Firwall/antivirus и зарегил нормально даже без перегрузки.

Работает :D
71. pavlo 18.08.11 10:36 Сейчас в теме
я так понимаю полного форматирования размера х*y ячеек, вставка картинок и формул не пашет таки? :( Вот если бы все это реально было, то реальная замена (а то вон к 2010 подключиться вообще не дает и фиг пойми, пишет: Конфигурация операционной системы не рассчитана на запуск этого приложения, а с 2003 обработка пашет на ура), а вот если бы вообще без екселя все это делать было бы супер :(
72. ErrorEd88 47 08.09.11 14:50 Сейчас в теме
Спасибо за разработку, очень помогла. Только после загрузки данных из Excel файла - запускается новый процесс 1с и жрет память.
73. DiamDiam 25.09.11 13:44 Сейчас в теме
не могу зарегистрировать библиотеку ExcelEditor.dll, ругается "Модуль "ExcelEditor.dll" загружен, но точка входа DllRegisterServer не была найдена. Проверьте что "ExcelEditor.dll" является правильным файлом DLL или OCX и повторите попытку.
74. patronize 28.09.11 10:08 Сейчас в теме
Замечательная компонента, простая и быстрая в использовании , а главное можно теперь обходиться без всяких офисов , единственное что немного расстраивает это обязательность фраемворков , всегда путаю какой именно нужен. А в остальном хтелось бы дальнейшего развития проекта и огромная благодарность автору!
75. dv2008 30.09.11 13:26 Сейчас в теме
очень удачная обработка - использовал уже раз 10, а что до дотнета, так он давно в винду встроен
76. MTA_N 03.10.11 07:55 Сейчас в теме
Все работает отлично, использовали много раз
77. ACE$ 102 30.11.11 16:45 Сейчас в теме
а есть ли возможность вставлять ячейки в книгу?
78. treedo 114 02.12.11 19:57 Сейчас в теме
Нужно предложить разрабам втулить ее в поставку 1С)
79. chorochol 20.01.12 14:45 Сейчас в теме
после установки компоненты и начала работы выходит сообщение типа "Ключ уже зарегистрирован"
80. chorochol 20.01.12 14:45 Сейчас в теме
хотя до этого компонента не была установлена
81. Yury1001 1428 14.02.12 12:41 Сейчас в теме
не сохраняет :(
в книге test обнаружено содержимое которое не удалось прочитать
82. igor_1c 12 17.02.12 11:16 Сейчас в теме
да, неплохой вариант работы с Excel
83. _alex1974 30.05.12 08:22 Сейчас в теме
Тестировали на 8.2?
Почему-то один раз отрабатывает, а при повторном вызове всё завешивает. Хотя вызов Выполнено() есть...
В 8.1 та же обработка работала абсолютно корректно.
84. yuyu1 5 13.08.12 21:58 Сейчас в теме
http://www.dushelov.ru

какая-то недоделанная страничка
85. yuyu1 5 14.08.12 13:48 Сейчас в теме
вообще, мне не понравилось. Я открыл файл , записал несколько ячеек, закрыл файл - и все форматы в нем обнулились, то бишь нет уже ярко раскрашенных ячеек, объединенные ячейки разъединились и т.п.
86. TimofeySin 49 01.11.12 11:08 Сейчас в теме
А как COM соединением подключится? а том не надо это делать на сервере. а на сервер ПодключитьВнешнююКомпоненту не работает.
87. SANILLA 30.09.13 00:44 Сейчас в теме
хм, очень интересно, сейчас качну и обязательно попробую :)
88. kuza_87 25 03.02.14 16:11 Сейчас в теме
А если честно, то всё-таки что быстрее? Ваша функция или http://infostart.ru/public/20090/
89. w-divin 02.04.14 16:44 Сейчас в теме
(88) kuza_87, автор, к сожалению, Вам уже не ответит (((
90. etmarket 26.11.14 02:35 Сейчас в теме
Неужели никто не сталкивался с проблемой, что библиотека не читает строки из файла Excel когда в документе отключена функция работы с листами!?
91. Gennadiy83 18.10.15 21:45 Сейчас в теме
Пытаюсь применить пример в 1С 77. Однако при попытке создать объект,

Экзель = СоздатьОбъект("AddIn.ExcelEditor");

генерируется ошибка: Ошибка при создании объекта из компоненты <Неизвестная компонента> (отсутствует CLSID)

При подключении компоненты ошибки не возникает. Подскажите как быть?
Оставьте свое сообщение

См. также

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

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

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

28.08.2019    1455    user1114182    4       

PinkRabbitMQ - Native API компонента 1С с открытым исходным кодом, для обмена сообщениями через RabbitMQ 135

Инструменты и обработки Программист Архив с данными v8 Бесплатно (free) Разработка внешних компонент

PinkRabbitMQ представляет собой Native API компоненту для 1С Предприятия 8 (Windows 32bit и 64bit) с открытым исходным кодом на с++ (можно собрать компоненту самостоятельно). PinkRabbitMQ это низкоуровневая компонента которая реализует обмен по протоколу AMQP с брокером сообщений RabbitMQ. Для организации высокоуровнего обмена между информационными базами предназначен Адаптер. Компонента разрабатывается в рамках проекта Адаптер.

29.07.2019    6220    401    Begemoth80    100       

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

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

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

28.05.2019    2029    rasdag    2       

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

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

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

18.04.2019    11869    9    Eret1k    43       

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

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

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

15.01.2019    10233    itriot11    21       

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

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

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

14.01.2019    11536    starik-2005    23       

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

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

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

09.01.2019    6639    rasdag    14       

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

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

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

01.10.2018    4972    jaroslav.h    0       

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

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

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

21.09.2018    4065    user1045404    2       

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

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

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

10.09.2018    7651    user1045404    16       

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

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

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

14.08.2018    13431    m-rv    5       

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

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

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

12.11.2017    7077    user634820_zergemoth    1       

Работа с Excel 287

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

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

23.10.2017    24265    arakelyan    39       

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

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

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

21.10.2017    8698    saddy    3       

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

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

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

28.04.2017    12335    dakork    4       

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

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

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

13.10.2016    14118    miavolas    15       

.Net Core, обмен с 1C по TCP/IP между различными устройствами 15

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

Часто нужно обмениваться данными с клиентом 1С из различных устройств, между клиентами 1С, а также при виртуализации между разными ОС на компьютере. Это кроссплатформенная ВК, позволяющая обмениваться сообщениями по TCP/IP между различными устройствами по определенному протоколу.

28.09.2016    17131    Serginio    8       

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

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

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

27.09.2016    7874    HAMMER_59    4       

Net Core. Динамическая компиляция класса обертки для получения событий .Net объекта в 1С 8

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

Часто нужно использовать события объектов .Net. Например событие от COM порта, поступление сообщений по WhatsAp, сообщение об изменение в директории итд. Напрямую этого сделать нельзя, но можно сделать класс обертку и через него получать ВнешнееСобытие

14.09.2016    13171    Serginio    1       

.Net Core, 1C, динамическая компиляция, Scripting API 10

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

Очень часто приходится использовать динамический код в 1С, используя Выполнить или Вычислить. Аналогичная задача и для использования скриптов на .Net. Я постарался показать, как можно скрестить ежа с ужом и получить удобный код. В этой статье много вражеского кода для чистого одноэсника, но все когда-то бывает впервые.

07.09.2016    15297    Serginio    7       

1С, Linux, Excel, Word, OpenXML, ADO, Net Core 31

Инструменты и обработки Программист Архив с данными v8 Бесплатно (free) Разработка внешних компонент

В данной статье показаны примеры кроссплатформенной работы с файлами Excel и Word (xlsx,docx) с помощью библиотеки OpenXML и Net Core

22.08.2016    16858    51    Serginio    14       

Асинхронное программирование в 1С через использование классов .Net из Native ВК 14

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

Это продолжение статьи Кроссплатформенное использование классов .Net в 1С через Native ВК. Или замена COM на Linux II http://infostart.ru/public/541518/ В этой статье покажу, как можно асинхронно вызывать асинхронные методы и вызывать ВнешнееСобытие в 1С из сборки .Net

09.08.2016    14290    Serginio    3       

.Net в 1С. Асинхронные HTTP запросы, отправка Post нескольких файлов multipart/form-data, сжатие трафика с использованием gzip, deflate, удобный парсинг сайтов и т.д. 37

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент WEB

Очень часто нужно при работе с HTTP сервисами или сайтами использовать Асинхронные HTTP запросы, отправку на сервер нескольких файлов, использование сжатия трафика. Эта статья про то, как этого легко добиться.

09.03.2016    25238    Serginio    22       

Быстрое создание Внешних Компонент на C#. Примеры использования Глобального Контекста, IAsyncEvent, IExtWndsSupport, WinForms и WPF 41

Статья Программист Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент

В большинстве случаев хватает и обычного COM объекта, учитывая, что в 8.х можно использовать события. Но иногда нужно использовать Глобальный Контекст для вызова глобальных функций, таких как Сообщить, NewObject и т.д. Кроме того, для использования форм нужен дескриптор окна 1С. Это продолжение статей Использование сборок .NET в 1С 7.x b 8.x. Создание внешних Компонент. http://infostart.ru/public/238584/ Там же лежат и исходники .NET(C#) для 1С. Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия http://infostart.ru/public/417830/ 1C Messenger для отправки сообщений, файлов и обмена данными между пользователями 1С, вэб страницы, мобильными приложениями а ля Skype, WhatsApp http://infostart.ru/public/434771/ Использование классов .Net в 1С для новичков http://infostart.ru/public/448668/

15.02.2016    24169    Serginio    13       

Подсветка синтаксиса 1С в текстовых редакторах Atom, Sublime Text, VS Code 101

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

Пакеты, добавляющие поддержку синтаксиса языка 1С:Предприятие 8 в текстовые редакторы Atom, Sublime Text и VS Code. И не только.

02.02.2016    22642    nixel    38       

Использование классов .Net в 1С для новичков 147

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

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    62541    Serginio    104       

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

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

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

29.11.2015    12836    matveev.andrey.v    17       

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

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

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

23.11.2015    13880    etmarket    14       

.NET(C#) для 1С. Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия 51

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

Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия, а так же генерация модулей на C# и 1С для подключения к событиям. Использование DynamicMethod и ILGenerator. Представлены примеры для использовании событий System.IO.FileSystemWatcher (Ожидает уведомления файловой системы об изменениях и инициирует события при изменениях каталога или файла в каталоге.) и SerialPort (обработка сканера штрих кода подключенного к COM порту). Обертка позволяет использовать классы .Net только на языке 1С. Реализация 1C Messenger описанного здесь http://infostart.ru/public/434771/

12.11.2015    41575    Serginio    35       

1С с "плюсами" 74

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

- Разработана методика подключения внешней компоненты, снимающая ограничения на типы данных аргументов и возвращаемого значения. - Проведено документирование основных типов данных (объектов, интерфейсов) платформы. - Разработан объект «Делегат» для реализации функциональных объектов (указатель-на-функцию). - Разработана концепция итератора произвольного доступа для основных контейнеров платформы с целью сопряжения со стандартной C++ библиотекой. - В процессе разработки механизм 1С классов (наследование, интерфейсы) для возможности использования парадигм объектно-ориентированного программирования на уровне кода.

14.10.2015    19510    IntelInside    47       

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

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

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

1 стартмани

10.08.2015    18287    papche    12       

Генерация штрих-кода для вставки его в 1С при работе в Linux 4

Статья Системный администратор Программист Нет файла v8 1cv8.cf Linux Бесплатно (free) Разработка внешних компонент

В Linux есть отличная команда barcode, которая генерирует штрих-коды в векторном формате ps. Но 1С не понимает такие форматы. Более того, barcode генерирует штрих-код на размер листа А4 или Letter. Установка пользовательского размера листа не увенчалась успехом. Но не будем же мы вставлять изображение штрих-кода размером с лист А4… Однако есть способ, как решить данные проблемы.

01.07.2015    13415    rudjuk    4       

Простейший способ создания штрих-кода в формате PNG из командной строки в Linux Ubuntu 10

Статья Программист Нет файла v8 1cv8.cf Linux Бесплатно (free) Разработка внешних компонент

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

29.06.2015    9621    rudjuk    15       

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

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

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

28.06.2015    16999    Yashazz    31       

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

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

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

09.06.2015    13679    ybatiaev    31       

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

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

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

26.05.2015    9879    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    205234    StepByStep    72       

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

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

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

21.01.2015    13106    scientes    6       

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

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

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

16.01.2015    70496    shmellevich    35       

Компилирование внешней компоненты AddInNative в ОС Linux 46

Статья Системный администратор Программист Нет файла v8 1cv8.cf Linux Бесплатно (free) Разработка внешних компонент

В статье отражены некоторые моменты, которые нужно учесть, чтобы скомпилировать пример 1С-вской внешней компоненты AddInNative в ОС Linux.

14.01.2015    17439    q_i    20       

Использование внешних COM-компонент (.dll) или любых клиентских методов в регламентных заданиях серверной базы. 50

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

Для расширения возможностей платформы 1С существует огромное количество внешних компонент (дополнительные функции, взаимодействие с софтом и железом других производителей, ключи защиты). К сожалению, большинство из них написано на технологии .COM и не могут использоваться на сервере. Для использования в регламентных заданиях серверной базы их приходится переписывать на Native API. Однако, иногда нет возможности переписать компоненту на новую технологию, но нужно вызвать ее в регламентном задании на сервере.

10.12.2014    39117    ekaruk    51       

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

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

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

11.09.2014    63128    StepByStep    26       

Мини-Эверест: Native ВК для 8.х 18

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Бесплатно (free) Разработка внешних компонент

Список и свойства HDD, список и свойства ОЗУ, список запущенных процессов (для терминала - всех пользователей с указанием номера сессии), список запущенных сервисов, характеристики BIOS

20.08.2014    13652    35    Abadonna    7       

ВК для работы с файлами FilesNative.dll 28

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Бесплатно (free) Разработка внешних компонент

Компонента реализует некоторые методы работы с файлами (архивами). Поддерживаемые форматы распаковки архивов: ZIP, JAR, XPI, BZ2, BZIP2, TBZ2,TBZ,RAR, R00, ARJ, Z, TAZ, LZH, LHA, 7Z, CAB, LZMA, LZMA86, ISO, XAR, MSI,RPM, TAR, GZ, TGZ, TPZ

18.06.2014    14494    77    Abadonna    9       

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

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

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

16.06.2014    14406    Mos    4