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

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

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

COMSafeArray Excel выгрузка в Excel

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

Честно говоря, это не столько публикация, сколько антисклерозник для меня самого. Вот как Трактор делает - собрал свои наработки, укомпоновал и выложил, удобно отовсюду доставать. А поскольку я этот блок свой уже пару раз про...любил и заново написал, то во избежание - пусть будет таким образом. Как говорится, "в копипасте - щастье".

 

// Внимание! Исходная таблица тДанных должна содержать только данные простых типов!!!
Процедура БыстроВывестиТаблицуЗначенийВExcel(тДанных,рПутьИмяФайла,рОткрыватьДляПросмотра=Ложь) Экспорт
Попытка
    Если
тДанных.Количество()=0 Или ПустаяСтрока(рПутьИмяФайла) Тогда Возврат КонецЕсли;

   
// если таблица для экселя спецслужебная, то выводим в двумерный массив, и теперь уже знаем его размеры
   
квоКолонокДЭ=тДанных.Колонки.Количество();
   
квоСтрокДЭ=тДанных.Количество()+1; // припуск на заголовок
   
РезДокумент=Новый Массив(квоКолонокДЭ,квоСтрокДЭ);

   
// заголовки
   
мКолонокДат=Новый Массив;
    Для
итерКолонок=1 По квоКолонокДЭ Цикл
       
кол=тДанных.Колонки[итерКолонок-1];
       
РезДокумент[итерКолонок-1][0]=кол.Заголовок;
        Если
кол.ТипЗначения.СодержитТип(Тип("Дата")) Тогда мКолонокДат.Добавить(кол.Имя) КонецЕсли;
    КонецЦикла;

   
// основные данные
   
квоиз=" из "+СокрЛП(квоСтрокДЭ-1);
    Для
й=0 По квоСтрокДЭ-2 Цикл
       
#Если Клиент Тогда
           
ОбработкаПрерыванияПользователя();
           
Состояние("Вывод в Excel: "+Строка(й+1)+квоиз);
       
#КонецЕсли
       
стро=тДанных.Получить(й);
        Для
итерКолонок=1 По квоКолонокДЭ Цикл
           
знч=стро[итерКолонок-1];
            Если
мКолонокДат.Найти(тДанных.Колонки[итерКолонок-1])<>Неопределено Тогда
               
// выгрузка в эксель через COMSafeArray не понимает совсем пустые даты, поэтому надо это учесть!!!
               
знч=?(ЗначениеЗаполнено(знч),знч,Дата(1900,1,1));
            КонецЕсли;
           
РезДокумент[итерКолонок-1][й+1]=знч;
        КонецЦикла;
    КонецЦикла;

   
// сохраняем все в произвольный тип, подробнее см. типизацию в описании конструктора "По типу элемента 1"
   
рТипМассива="VT_VARIANT";
   
рМассив=Новый COMSafeArray(РезДокумент,рТипМассива,квоКолонокДЭ,квоСтрокДЭ);
   
Ексель=Новый COMОбъект("Excel.Application");
   
Книга=Ексель.Workbooks.Add();
    Если
Книга.WorkSheets.Count=0 Тогда
       
Лист=Книга.WorkSheets.Add();
    Иначе
       
Лист=Книга.WorkSheets.Item(1); // нумерация с 1
   
КонецЕсли;
   
// самое главное: диапазону ячеек можно просто присвоить SafeArray со значениями
   
рНачало=Лист.Cells(1,1);
   
рКонец=Лист.Cells(квоСтрокДЭ,квоКолонокДЭ);
   
Лист.Range(рНачало,рКонец).Value=рМассив;
   
//
    // соответствие форматов: xlOpenXMLWorkbook=51 это xlsx, xlExcel12=50 это xlsb, xlExcel8=56 это xls
   
стрпф=Новый Структура("xls,xslx,xlsb",56,51,50);
   
рФайл=Новый Файл(СокрЛП(рПутьИмяФайла));
   
расш=СтрЗаменить(рФайл.Расширение,".","");
   
рФормат=?(стрпф.Свойство(расш),стрпф[расш],51); // по умолчанию xlsx
   
Книга.SaveAs(СокрЛП(рПутьИмяФайла),рФормат);

    Если
рОткрыватьДляПросмотра Тогда
       
#Если Клиент Тогда
           
Ексель.Visible=Истина;
       
#КонецЕсли
   
КонецЕсли;
   
//
   
Ексель=Null;

Исключение
   
Сообщить("БыстроВывестиТаблицуЗначенийВExcel, ошибка: "+ОписаниеОшибки(),СтатусСообщения.ОченьВажное);
КонецПопытки;
КонецПроцедуры


 

Желающим плюсить - сюда: //infostart.ru/public/269846/

Ну а первоисточник, который применял я, здесь: http://kb.mista.ru/article.php?id=707

Поскольку моё тут только конкретное воплощение, публикацию особо плюсить не стоит, и вообще она life.

30

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

Комментарии
Избранное Подписка Сортировка: Древо
1. BigClock 29.06.15 10:03 Сейчас в теме
ТабЗнч = РезЗапроса.Выгрузить();
ПострПечать = Новый ПостроительОтчета;
ПострПечать.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабЗнч);
ТабДок = Новый ТабличныйДокумент;                  
ПострПечать.Вывести(ТабДок);
ТабДок.Записать("ИмяФайла.xls");
Shmell; shved; primat; mvxyz; pikabu; androgin; mvsemenov; fancy; webester; the1; dolter; Zeskord; vasyak319; +13 1 Ответить
4. Yashazz 2887 29.06.15 11:24 Сейчас в теме
(1) BigClock, господин "пионэр", вы, вероятно, не поняли фишку, что, возможно, ввиду малого опыта простительно. Я ведь написал - это вариант быстрого способа. Да ещё и не подвешивающего клиентскую машину. Флаг вам в руки сохранять моксель на 300 тысяч строк методом Записать() при небольшой оперативке, тогда поймёте.

(3) Что будет являться критерием "успешной загрузки" при проверке, и чем тогда, на ваш взгляд, загрузка будет отличаться от проверки оной?
20. genayo 29.06.15 18:58 Сейчас в теме
(4) А 300 тысяч строк в Екселе нужны чтобы что с ними делать?
21. anosin 27 01.07.15 09:03 Сейчас в теме
(20) genayo, Например загрузить в другую систему, которая умеет грузить только из файла эксела
23. Yashazz 2887 01.07.15 10:16 Сейчас в теме
(21) Именно.
(22) anosin, как даты сохраняются. Или это не ко мне вопрос?
5. Yashazz 2887 29.06.15 13:50 Сейчас в теме
(1) Вот мне интересно, сколько ещё ламеров, полагающих себя Кэпами Очевидность, плюсанут неработающий код из (1)? Прям хоть ставки делай)))
Vida; Smert-nik; +2 3 Ответить
6. Xershi 738 29.06.15 14:07 Сейчас в теме
(5) так работает типовой механизм. Куда не поставь 1С везде создаст файл эксель. Ваш вариант предполагает установку экселя на сервер с 1С. Что может быть и вообще не быстро, т.к. просто не создастся наш файл.
8. Yashazz 2887 29.06.15 14:25 Сейчас в теме
(6), (7), мы с вами на разных 1С работаем, видимо, или у вас эксели ооочень сильно продвинутые. Позволю себе процитировать СП:
ТабличныйДокумент (SpreadsheetDocument)
Записать (Write)
Синтаксис:
Записать(<ИмяФайла>, <ТипФайлаТаблицы>)
Параметры:
<ИмяФайла> (обязательный)
Тип: Строка.
Имя файла, в котором сохраняется табличный документ.
<ТипФайлаТаблицы> (необязательный)
Тип: ТипФайлаТабличногоДокумента.
Формат, в котором будет сохранен табличный документ.
Значение по умолчанию: MXL.

А теперь скажите мне, в приведённом фрагменте кода явно указан второй параметр, определяющий формат документа? Нет, не указан. А это означает, что эксель нихрена не откроет файл, сделанный таким образом. Желающие приглашаются проверить.

Вообще это напоминает старый анекдот, как преобразовать pdf в вордовский файл - взять да и поменять расширение файла)))
9. vasyak319 132 29.06.15 14:30 Сейчас в теме
(8) а вот хамить не надо. Я понимаю, обидно, когда сидишь тут, ваяешь супермегастатью про свой убергиперспособ, а тут первый же комментатор пишет шесть строк кода, которые делают то же самое. И - о, чудо! о, подарок судьбы! - допускает мелкую ошибку. В коде, набитом на коленке чисто ради примера.
Движок сайта не даёт ставить минусы чаще, чем раз в пять минут, но я никуда не тороплюсь.
shved; Патриот; alest; CyberCerber; +4 Ответить
15. Yashazz 2887 29.06.15 15:13 Сейчас в теме
(9) vasyak319, эти 6 строчек кода я юзал ещё когда только вышла 8.0, и не надо считать себя первооткрывателями. Мне не обидно, т.к. и способ этот не я придумал, и воплощение до меня делали. "Мегастатью" ваял минут 5, спасибо автору "разукрашки" кода)
Меня возмущает манера выдать общеизвестный баян в виде истины "а мужыки-то не знают", да ещё ошибку посадить, и совершенно не подумать о производительности.

Насчёт "набитом на коленке" - знаете, вот клиенту потом трудно объяснить, что ошибка-то ерундовая. Потому что деление ошибок на ерундовые и серьёзные это признак неграмотного подхода. Любая ошибка, не позволяющая решить задачу - это серьёзная ошибка. И допущенная в цитируемом коде именно такова, сорри.

Минусуйте, если вам делать нечего. Я вот пока лучше новую интересную задачу порешаю, а результаты потом выложу.
10. webester 29 29.06.15 14:46 Сейчас в теме
(8) в (1) Действительно ошибка, но сам способ я использую тоже, не могу сказать про 300тыщ, это реально много, но я регулярно сохраняю таким образом в экселевккий файлик результат СКД отчета размером в 80К строк и десяток колонок, на стареньком ноуте со старым процом и 2гигами памяти. Занимает секунд 10-20 гдето, не могу сказать точнее.
11. Xershi 738 29.06.15 15:00 Сейчас в теме
(8) то, что там не указано расширение. Это косяк поста 1, но метод рабочий и расширение явно зададим и получим результат без тонны кода.
Естественно для вывода простого отчета это то что нужно, ваш метод как раз таки не для таких случаем.
Так что вопрос в задаче, а не быстроте/простоте!
26. androgin 08.07.15 20:47 Сейчас в теме
(8) Эксель отлично открывает формат MXL !
27. Yashazz 2887 09.07.15 14:25 Сейчас в теме
(26) androgin, это в вас говорит или малый опыт, или большой оптимизм. Далеко не все версии и далеко не всегда способны открыть mxl. А иногда вроде и открывают, но лучше бы отказались, таков бывает результат.
7. the1 392 29.06.15 14:11 Сейчас в теме
(5) вполне все работает. (не про производительность речь)
18. BigClock 29.06.15 16:03 Сейчас в теме
Yashazz,
Да, в (1) есть косяк.
Но в статье не было приведено никаких цифр (хотя бы ориентировочных) по сравнению Вашего способа с очевидным.
Становится непонятным: стоит ли городить огород с такой большой процедурой?
В (10) были приведены цифры. Очевидно, что для большинства применений этого простейшего способа из 6 строк более, чем достаточно.

Насчёт "набитом на коленке" - знаете, вот клиенту потом трудно объяснить, что ошибка-то ерундовая. Потому что деление ошибок на ерундовые и серьёзные это признак неграмотного подхода. Любая ошибка, не позволяющая решить задачу - это серьёзная ошибка. И допущенная в цитируемом коде именно такова, сорри.

Речь идет о подходе к решению задачи, а не о том, что именно этот код я буду внедрять у клиента. Тем более, что перед внедрением я обязательно проведу тестирование решения, в результате которого эта ошибка будет обнаружена.

DevSerg; Патриот; Diego_Iv; alest; klinval; Yashazz; vasyak319; +7 Ответить
19. Yashazz 2887 29.06.15 17:09 Сейчас в теме
(18) BigClock,
Но в статье не было приведено никаких цифр (хотя бы ориентировочных) по сравнению Вашего способа с очевидным.
Не ставил такой цели. Я русским по белому написал, что это за публикация и зачем, а некоторые с таким жаром накинулись, будто я ноу-хау анонсировал. Прямо жаль, что того автора, ссылку на публикацию которого я привёл, так не комментили, потому что вон он понты раскидывал - не мне чета)

Становится непонятным: стоит ли городить огород с такой большой процедурой?
В моих случаях, в решениях промышленного масштаба, ещё как стоит.
В (10) были приведены цифры. Очевидно, что для большинства применений этого простейшего способа из 6 строк более, чем достаточно.
Согласен. Более того, если условия задачи допускают простое решение, то именно городить сложный огород и есть ошибка. Можно сделать просто - нужно сделать просто.
2. vasyak319 132 29.06.15 10:15 Сейчас в теме
Всего вторую публикацию за сегодня читаю и уже второй способ удаления гланд через задницу. Сегодня "День проктолога" что ли?
andy23; DoctorRoza; +2 1 Ответить
3. DoctorRoza 29.06.15 10:48 Сейчас в теме
Вопрос в автору, как у гуру: можно в предложенном коде сделать "Попытку .." не в блоке загрузки данных? То бишь, я хочу в начале проверить, что все загрузиться, а уже потом точно загружать данные! Спасибо!
13. zikonza 29.06.15 15:06 Сейчас в теме
(3) DoctorRoza, Не проще тогда все делать в транзакции?
14. Yashazz 2887 29.06.15 15:09 Сейчас в теме
(13) zikonza, туманно представляю, чем может помочь транзакция. 1С ведь не будет откатывать изменения в стороннем клиентском приложении при отказе транзакции.
16. zikonza 29.06.15 15:51 Сейчас в теме
(14) не сохраню его так же,как и при попытке. По сути смысл тотже
17. Yashazz 2887 29.06.15 15:56 Сейчас в теме
(16) zikonza, а, это да. Это вариант.
12. zikonza 29.06.15 15:04 Сейчас в теме
Очень странно читать некоторые комментарии, с производительностью кто нибудь сталкивался вообще? С нагрузкой? С требованиями оптимизировать код? Автору плюс. Практически так же записываю.
22. anosin 27 01.07.15 09:04 Сейчас в теме
ячейки с датами как сохранятся в экселе в приведнном коде? к примеру результат выводя СКД?
24. MadDAD 134 03.07.15 11:51 Сейчас в теме
Как отлавливаете незакрывшиеся процессы экселя на сервере?
25. Yashazz 2887 06.07.15 00:22 Сейчас в теме
(24) MadDAD, правду сказать - никак. Всё руки не доходят заняться этой частью задачи.
28. Ivon 638 14.03.16 23:09 Сейчас в теме
Не понимаю восторгов автора от собственного творения. Метод не самый быстрый, хотя и не самый медленный. Но самый главный минус - использование Excel для выгрузки просто таблицы значений без форматирования. Копайте в сторону ADO и будет вам счастье - там можно выгружать и в Excel и в Access не имея установленного офиса.
29. Yashazz 2887 15.03.16 10:36 Сейчас в теме
(28) Ivon, во-первых, восторгов особых вроде не вижу. Покажите, где вы их нашли, а? Уж не фраза ли "публикацию особо плюсить не стоит" это восторг?
Во-вторых, спасибо, но механикой ADO я владею в достаточной мере.
В третьих, если кто-то справедливо раскритиковал вашу разработку, ползать по ИС и цепляться к его работам - ну, несколько странно выглядит.
30. Ivon 638 15.03.16 11:44 Сейчас в теме
(29) Если вы так хорошо во всем разбираетесь, зачем постить подобный шлак. И это тоже справедливая критика
Оставьте свое сообщение

См. также

Обертка функций Excel на русском. Ускорение процесса разработки. 41

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

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

24.10.2019    2237    DmitryKotov    6       

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

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

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

28.08.2019    2209    user1114182    4       

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

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

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

28.05.2019    2692    rasdag    2       

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

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

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

18.04.2019    13255    9    Eret1k    43       

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

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

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

15.01.2019    11568    itriot11    21       

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

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

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

14.01.2019    12608    starik-2005    24       

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

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

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

09.01.2019    7243    rasdag    14       

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

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

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

01.10.2018    5607    jaroslav.h    0       

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

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

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

21.09.2018    4429    user1045404    2       

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

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

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

10.09.2018    8053    user1045404    16       

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

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

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

14.08.2018    14238    m-rv    5       

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

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

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

30.11.2017    22661    alex_bitti    15       

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

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

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

12.11.2017    7445    user634820_zergemoth    1       

Работа с Excel 298

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

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

23.10.2017    27069    arakelyan    39       

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

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

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

21.10.2017    9174    saddy    3       

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

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

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

28.04.2017    12749    dakork    4       

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

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

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

13.10.2016    14495    miavolas    15       

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

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

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

27.09.2016    8181    HAMMER_59    4       

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

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

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

29.11.2015    13220    matveev.andrey.v    17       

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

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

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

23.11.2015    14222    etmarket    14       

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

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

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

1 стартмани

10.08.2015    18820    papche    12       

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

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

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

09.06.2015    14023    ybatiaev    31       

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

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

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

26.05.2015    10161    nikitin19819    7       

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

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

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

06.04.2015    208800    StepByStep    72       

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

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

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

21.01.2015    13465    scientes    6       

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

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

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

16.01.2015    72194    shmellevich    35       

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

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

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

11.09.2014    64053    StepByStep    26       

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

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

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

07.08.2014    27573    den_valley    14       

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

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

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

16.06.2014    14710    Mos    4       

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

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

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

30.03.2014    17030    akor77    13       

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

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

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

01.11.2013    98117    StepByStep    73       

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

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

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

01.08.2013    57665    ltfriend    59       

Выгрузка Таблицы значений из 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    24005    AzagTot    17       

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

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

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

20.01.2013    21518    yuraos    7       

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

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

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

30.11.2012    46623    StepByStep    5       

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

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

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

21.10.2012    5631    yermak    5       

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

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

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

22.08.2012    9597    knigula    1       

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

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

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

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

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

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

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

15.06.2012    38622    volconok27    12       

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

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

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

13.06.2012    31832    1249    Abadonna    43       

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

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

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

31.05.2012    26880    sbv2005    8