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

28.06.15

Интеграция - Загрузка и выгрузка в Excel

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

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

 

// Внимание! Исходная таблица тДанных должна содержать только данные простых типов!!!
Процедура БыстроВывестиТаблицуЗначенийВ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.

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

См. также

SALE! 20%

Загрузка и выгрузка в Excel Оптовая торговля Печатные формы Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Забудьте о ручном вводе: загружайте документы из Excel в 1С за секунды! Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С.

6000 5100 руб.

09.11.2016    237688    1076    904    

1012

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, Детский мир, МагнитЭкспресс (быв.Казань-Экспресс), Леруа Мерлен, ЭНФАНТА (Акушерство), ЛаМода, Летуаль, Твой дом, Золотое Яблоко в документы "Отчет комиссионера (агента) о продажах" и другие. Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:КА 2, 1С:ERP Управление предприятием. Возможность подключить любые маркетплейсы. Анализ продаж ОZON. 30 дней БЕСПЛАТНОГО пользования!

3600 руб.

12.08.2021    36422    368    68    

160

SALE! 30%

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Бухгалтер Пользователь Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания сканов или фото товарных документов в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    108276    315    173    

327

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

11100 руб.

29.10.2014    217486    662    527    

457

Загрузка и выгрузка в Excel Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика Бухгалтерский учет Управленческий учет Платные (руб)

Загрузка данных отчета о реализации товаров из сервиса "Детский мир" для конфигурации 1С: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3; Управление нашей фирмой, редакция 3.0 и Розница, редакция 3.0 в документ "Отчет комиссионера (агента) о продажах".

4800 руб.

23.01.2022    11401    56    0    

38

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 09.12.2024, версия 9.8 - 9.13)

16800 руб.

20.11.2015    157275    379    378    

514
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. BigClock 29.06.15 10:03 Сейчас в теме
ТабЗнч = РезЗапроса.Выгрузить();
ПострПечать = Новый ПостроительОтчета;
ПострПечать.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабЗнч);
ТабДок = Новый ТабличныйДокумент;                  
ПострПечать.Вывести(ТабДок);
ТабДок.Записать("ИмяФайла.xls");
user1882149; user1619761; user1835472; ivan1703; ivnik; antonio_i; siliconvalet; badyrov; xoisim; avmironov; user1697585; denium; mai_k; user902161; Gendelf; marat.coolls; porese; user1447587; Zeus2090; grfsd; Henistaromin; bbbsss; Shmell; shved; primat; mvxyz; pikabu; androgin; mvsemenov; fancy; webester; ixijixi; dolter; Zeskord; vasyak319; +35 2 Ответить
4. Yashazz 4801 29.06.15 11:24 Сейчас в теме
(1) BigClock, господин "пионэр", вы, вероятно, не поняли фишку, что, возможно, ввиду малого опыта простительно. Я ведь написал - это вариант быстрого способа. Да ещё и не подвешивающего клиентскую машину. Флаг вам в руки сохранять моксель на 300 тысяч строк методом Записать() при небольшой оперативке, тогда поймёте.

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

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

Вообще это напоминает старый анекдот, как преобразовать pdf в вордовский файл - взять да и поменять расширение файла)))
user1835472; androgin; +2 1 Ответить
9. vasyak319 152 29.06.15 14:30 Сейчас в теме
(8) а вот хамить не надо. Я понимаю, обидно, когда сидишь тут, ваяешь супермегастатью про свой убергиперспособ, а тут первый же комментатор пишет шесть строк кода, которые делают то же самое. И - о, чудо! о, подарок судьбы! - допускает мелкую ошибку. В коде, набитом на коленке чисто ради примера.
Движок сайта не даёт ставить минусы чаще, чем раз в пять минут, но я никуда не тороплюсь.
user1619761; Serg2000mr; user1835472; DoReMu; avmironov; Meverix; Gendelf; marat.coolls; danil157; shved; Патриот; alest; CyberCerber; +13 Ответить
15. Yashazz 4801 29.06.15 15:13 Сейчас в теме
(9) vasyak319, эти 6 строчек кода я юзал ещё когда только вышла 8.0, и не надо считать себя первооткрывателями. Мне не обидно, т.к. и способ этот не я придумал, и воплощение до меня делали. "Мегастатью" ваял минут 5, спасибо автору "разукрашки" кода)
Меня возмущает манера выдать общеизвестный баян в виде истины "а мужыки-то не знают", да ещё ошибку посадить, и совершенно не подумать о производительности.

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

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

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

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

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

Становится непонятным: стоит ли городить огород с такой большой процедурой?
В моих случаях, в решениях промышленного масштаба, ещё как стоит.
В (10) были приведены цифры. Очевидно, что для большинства применений этого простейшего способа из 6 строк более, чем достаточно.
Согласен. Более того, если условия задачи допускают простое решение, то именно городить сложный огород и есть ошибка. Можно сделать просто - нужно сделать просто.
32. d.zhukov 1485 18.02.24 12:23 Сейчас в теме
(1)
ТабДок.Записать("ИмяФайла.xls");

В последней строке следует явно указать тип файла. Итого правильно должно быть так:
ТабЗнч = РезЗапроса.Выгрузить();
ПострПечать = Новый ПостроительОтчета;
ПострПечать.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабЗнч);
ТабДок = Новый ТабличныйДокумент;                  
ПострПечать.Вывести(ТабДок);
ТабДок.Записать("ИмяФайла.xlsx", ТипФайлаТабличногоДокумента.XLSX);
user1882149; +1 Ответить
33. user1882149 10.08.24 12:56 Сейчас в теме
(32)
ТабЗнч = РезЗапроса.Выгрузить();
ПострПечать = Новый ПостроительОтчета;
ПострПечать.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабЗнч);
ТабДок = Новый ТабличныйДокумент;
ПострПечать.Вывести(ТабДок);
ТабДок.Записать("ИмяФайла.xlsx", ТипФайлаТабличногоДокумента.XLSX);


Огромнейшее спасибо. Все гениальное просто. Облазил весь Интернет, куча мусора и ничего толкового. А тут все четко и работает. Казалось бы, элементарные вещи - сразу сохранять в Excel вместо - Еще - Вывести список - выбрать колонки - Сохранить. Но нигде никакой информации.
34. user1882149 10.08.24 17:46 Сейчас в теме
(33) вот только почему-то вставляются в начале 3 пустые строки и лишняя первая и третья колонки пустые. Из таблицы значений вставляются все колонки, но вставляются не в первую колонку, а во вторую и добавляется еще третья колонка пустая...
Прикрепленные файлы:
35. user1882149 10.08.24 22:44 Сейчас в теме
(34) Победил проблемы
Пустые строки в начале и (в моем случае) 3 колонка удаляются путем отключения Заголовок Отчета:
ПострПечать.ВыводитьЗаголовокОтчета = Ложь;

Пустая первая колонка удаляется так:

ОбластьНаУдаление = ТабДок.Область(1, 1, ТабДок.ВысотаТаблицы, 1);
ТабДок.УдалитьОбласть(ОбластьНаУдаление, ТипСмещенияТабличногоДокумента.ПоГоризонтали);


Удаляемая колонка узкая, поэтому после ее удаления нужно выровнять ширину колонок.
	Для Кол = 1 По ТабДок.ШиринаТаблицы Цикл
	    ШиринаКолонки = 0;
	    Для Стр = 1 По ТабДок.ВысотаТаблицы Цикл
	        Область = ТабДок.Область(Стр, Кол);
	        ШиринаОбласти = Область.Отступ + СтрДлина(СокрЛП(Область.Текст));
	        ШиринаКолонки = Макс(ШиринаКолонки, ШиринаОбласти + 3);
	        Если ШиринаКолонки > 40 Тогда
	            Область.ШиринаКолонки = 40;
	        Иначе
	            Область.ШиринаКолонки = ШиринаКолонки;
	        КонецЕсли;
	    Конеццикла;
	КонецЦикла;
Показать


	ТабЗнч = РезЗапроса.Выгрузить();
	ПострПечать = Новый ПостроительОтчета;
	ПострПечать.ВыводитьЗаголовокОтчета = Ложь;
	ПострПечать.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабЗнч);
	ТабДок = Новый ТабличныйДокумент;
	ПострПечать.Вывести(ТабДок);
	ОбластьНаУдаление = ТабДок.Область(1, 1, ТабДок.ВысотаТаблицы, 1);
	ТабДок.УдалитьОбласть(ОбластьНаУдаление, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
	Для Кол = 1 По ТабДок.ШиринаТаблицы Цикл
	    ШиринаКолонки = 0;
	    Для Стр = 1 По ТабДок.ВысотаТаблицы Цикл
	        Область = ТабДок.Область(Стр, Кол);
	        ШиринаОбласти = Область.Отступ + СтрДлина(СокрЛП(Область.Текст));
	        ШиринаКолонки = Макс(ШиринаКолонки, ШиринаОбласти + 3);
	        Если ШиринаКолонки > 40 Тогда
	            Область.ШиринаКолонки = 40;
	        Иначе
	            Область.ШиринаКолонки = ШиринаКолонки;
	        КонецЕсли;
	    Конеццикла;
	КонецЦикла;
	ТабДок.Записать("ИмяФайла.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Показать
user2027692; +1 Ответить
2. vasyak319 152 29.06.15 10:15 Сейчас в теме
Всего вторую публикацию за сегодня читаю и уже второй способ удаления гланд через задницу. Сегодня "День проктолога" что ли?
Meverix; andy23; DoctorRoza; +3 1 Ответить
3. DoctorRoza 29.06.15 10:48 Сейчас в теме
Вопрос в автору, как у гуру: можно в предложенном коде сделать "Попытку .." не в блоке загрузки данных? То бишь, я хочу в начале проверить, что все загрузиться, а уже потом точно загружать данные! Спасибо!
13. zikonza 29.06.15 15:06 Сейчас в теме
(3) DoctorRoza, Не проще тогда все делать в транзакции?
14. Yashazz 4801 29.06.15 15:09 Сейчас в теме
(13) zikonza, туманно представляю, чем может помочь транзакция. 1С ведь не будет откатывать изменения в стороннем клиентском приложении при отказе транзакции.
16. zikonza 29.06.15 15:51 Сейчас в теме
(14) не сохраню его так же,как и при попытке. По сути смысл тотже
17. Yashazz 4801 29.06.15 15:56 Сейчас в теме
(16) zikonza, а, это да. Это вариант.
12. zikonza 29.06.15 15:04 Сейчас в теме
Очень странно читать некоторые комментарии, с производительностью кто нибудь сталкивался вообще? С нагрузкой? С требованиями оптимизировать код? Автору плюс. Практически так же записываю.
22. anosin 29 01.07.15 09:04 Сейчас в теме
ячейки с датами как сохранятся в экселе в приведнном коде? к примеру результат выводя СКД?
24. MadDAD 136 03.07.15 11:51 Сейчас в теме
Как отлавливаете незакрывшиеся процессы экселя на сервере?
25. Yashazz 4801 06.07.15 00:22 Сейчас в теме
(24) MadDAD, правду сказать - никак. Всё руки не доходят заняться этой частью задачи.
28. Ivon 676 14.03.16 23:09 Сейчас в теме
Не понимаю восторгов автора от собственного творения. Метод не самый быстрый, хотя и не самый медленный. Но самый главный минус - использование Excel для выгрузки просто таблицы значений без форматирования. Копайте в сторону ADO и будет вам счастье - там можно выгружать и в Excel и в Access не имея установленного офиса.
29. Yashazz 4801 15.03.16 10:36 Сейчас в теме
(28) Ivon, во-первых, восторгов особых вроде не вижу. Покажите, где вы их нашли, а? Уж не фраза ли "публикацию особо плюсить не стоит" это восторг?
Во-вторых, спасибо, но механикой ADO я владею в достаточной мере.
В третьих, если кто-то справедливо раскритиковал вашу разработку, ползать по ИС и цепляться к его работам - ну, несколько странно выглядит.
30. Ivon 676 15.03.16 11:44 Сейчас в теме
(29) Если вы так хорошо во всем разбираетесь, зачем постить подобный шлак. И это тоже справедливая критика
Оставьте свое сообщение