helpf.pro
Регистрация
 +9 
Распечатать

Выгрузка данных в Excel с установкой разных параметров

Код 1C v 8.х
 // Процедура выгружает из указанного справочника данные в режиме экспорта в файл в формате Microsoft Excel
// с указанным именем, используя преобразование данных к типу число и типу строка;
Процедура ОсновныеДействияФормыЭкспорт(Кнопка)
  Попытка
    Попытка
      // Загрузка объекта Microsoft Excel
      Состояние("Выгрузка данных из 1С в Microsoft Excel...");
      ExcelПриложение = Новый COMОбъект("Excel.Application");
    Исключение
      Сообщить("Ошибка при запуске Microsoft Excel."
        + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
      Возврат;
    КонецПопытки;

    // Создадим книгу, по умолчанию в ней уже есть листы
    Книга = ExcelПриложение.WorkBooks.Add();

    // Используем первый лист книги Excel
    Лист = Книга.WorkSheets(1);

    // Сформировать шапку документа в первой строке листа
    Колонка = 1;
    Для каждого стр из ТП цикл
      Если стр.Выгружать Тогда
        Лист.Cells(1, Колонка).Value = стр.НазваниеРеквизита;
        Колонка = Колонка + 1;
      КонецЕсли;
    КонецЦикла;

    // Выгрузить данные справочника
    выборка = Справочники[ИмяСправочника].Выбрать();
    СтрокаЛиста = 2;
    Пока выборка.Следующий() Цикл
      Колонка = 1;
      Для каждого стр из ТП цикл

      Если стр.Выгружать Тогда
      Попытка
        // Установить значение в строке и колонке
        Если ТипЗнч(выборка[стр.НазваниеРеквизита])=Тип("Число") Тогда
        // Установить формат для типа Число
        Лист.Cells(СтрокаЛиста, Колонка).NumberFormat = "0,00";
        Лист.Cells(СтрокаЛиста, Колонка).Value =
          Формат(выборка[стр.НазваниеРеквизита],"ЧГ=0");
        иначе
          // Для всех других типов установим формат "Текстовый"
          Лист.Cells(СтрокаЛиста, Колонка).NumberFormat = "@";
          Лист.Cells(СтрокаЛиста, Колонка).Value =
            Строка(выборка[стр.НазваниеРеквизита]);
        КонецЕсли;
      исключение
        // в случае ошибки вывести номер строки и колонки
        Сообщить("Ошибка установки значения для: " +
          выборка[стр.НазваниеРеквизита]);
        Сообщить("Стр: " +СтрокаЛиста+ " Кол: " +
          Колонка+ " Рек: " + стр.НазваниеРеквизита);
      КонецПопытки;
      Колонка = Колонка + 1;
      КонецЕсли;

    КонецЦикла;
    СтрокаЛиста = СтрокаЛиста + 1;
    Состояние("Экспорт из 1С в Excel " + СтрокаЛиста);
    КонецЦикла;

    // Сохраним созданную книгу в файл xls
    Книга.SaveAs(имяФайла);

    // Обязательно закроем соединение с COM объектом для освобождения памяти
    ExcelПриложение.Quit();

    Сообщить("Файл выгружен успешно: " + имяФайла );

  Исключение
    // Обработка ошибок экспорта данных из 1С в Excel
    Сообщить("Ошибка записи данных файла :" + имяФайла);
    Сообщить(ОписаниеОшибки());
    Попытка
      ExcelПриложение.Quit();
    Исключение
    КонецПопытки;
  КонецПопытки;
КонецПроцедуры   


Код 1C v 7.x
 //Простейший пример вывода из 1С:Предприятия 7.7 в MS Excel. Обеспечение наличия у рабочей книги единственного листа,
//установка размера, жирности и цвета шрифта, ширины колонок, рамок и заливки ячеек. Выравнивание текста
//ячеек, группировка строк, установка числового формата ячеек, закрепление области.
 
Процедура Вывод()
    Попытка
        Application=СоздатьОбъект("Excel.Application");
    Исключение
        Сообщить(ОписаниеОшибки(),"!!!");
        Сообщить("Возможно, MS Excel не установлен на этом компьютере.");
        Возврат;
    КонецПопытки;
    
    //Создание рабочей книги
 
    WorkBook=Application.WorkBooks.Add();
    //Получение окна
 
    Window=WorkBook.Windows(1);
    //Установка невидимости окна для убыстрения вывода
 
    Window.Visible=0;
    //Обеспечение наличия у рабочей книги единственного листа
 
    Если WorkBook.Worksheets.Count=0 Тогда
        WorkBook.Worksheets.Add();
    Иначе
        Application.DisplayAlerts=0;//не выдавать предупреждений
 
        Пока WorkBook.Worksheets.Count>1 Цикл
            WorkBook.Worksheets(1).Delete();
        КонецЦикла;
        Application.DisplayAlerts=-1;//восстановление флага выдачи предупреждений
 
    КонецЕсли;
    //Получение рабочего листа
 
    Worksheet=WorkBook.Worksheets(1);
    //Задание имени рабочего листа
 
    Worksheet.Name="Пример вывода";
    
    //Заголовок документа
 
    Worksheet.Range("A1").Value="Пример вывода из 1С:Предприятия в MS Excel";
    Worksheet.Range("A2").Value="сегодня "+ТекущаяДата();
    Worksheet.Range("A1:A2").Font.Size=14;//размер шрифта
 
    Worksheet.Range("A1:A2").Font.Bold=-1;//жирный шрифт
 
    
    //Задание ширины колонок
 
    Worksheet.Columns(1).ColumnWidth=60;
    Worksheet.Columns(2).ColumnWidth=15;
    Worksheet.Columns(3).ColumnWidth=15;
    
    //Шапка документа
 
    Worksheet.Range("A4").Value="Первая колонка";
    Для ы=7 по 10 Цикл//рамки
 
        Worksheet.Range("A4").Borders(ы).LineStyle=1;
        Worksheet.Range("A4").Borders(ы).Weight=-4138;//xlMedium
 
    КонецЦикла;
    Worksheet.Range("A4").Interior.ColorIndex=15;//заливка серым
 
    Worksheet.Range("A4").HorizontalAlignment=-4108;//выравнивание текста по центру
 
    
    Worksheet.Range("B4").Value="Вторая";
    Для ы=7 по 10 Цикл
        Worksheet.Range("B4").Borders(ы).LineStyle=1;
        Worksheet.Range("B4").Borders(ы).Weight=-4138;
    КонецЦикла;
    Worksheet.Range("B4").Interior.ColorIndex=15;
    Worksheet.Range("B4").HorizontalAlignment=-4108;
    
    Worksheet.Range("C4").Value="Третья";
    Для ы=7 по 10 Цикл
        Worksheet.Range("C4").Borders(ы).LineStyle=1;
        Worksheet.Range("C4").Borders(ы).Weight=-4138;
    КонецЦикла;
    Worksheet.Range("C4").Interior.ColorIndex=15;
    Worksheet.Range("C4").HorizontalAlignment=-4108;
    
    //Для группировки строк:
     Worksheet.Outline.SummaryRow=0;//"итоговые" строки отображать сверху (если снизу, то 1)
     
    //Вывод строк
     Worksheet.Range("A5").Value="Объект аналитики";
    Worksheet.Range("A5").Font.ColorIndex=5;//цвет шрифта - синий
 
    Worksheet.Range("B5").Value=123.45;
    Worksheet.Range("B5").Font.ColorIndex=5;
    Worksheet.Range("C5").Value=678.9;
    Worksheet.Range("C5").Font.ColorIndex=5;
    
    Worksheet.Range("A6").Value="Объект аналитики";
    Worksheet.Range("A6").Font.ColorIndex=3;//цвет шрифта - красный
 
    Worksheet.Range("B6").Value=123.45;
    Worksheet.Range("B6").Font.ColorIndex=3;
    Worksheet.Range("C6").Value=678.9;
    Worksheet.Range("C6").Font.ColorIndex=3;
    
    Worksheet.Range("A7").Value="Объект аналитики";
    Worksheet.Range("B7").Value=123.45;
    Worksheet.Range("C7").Value=678.9;
    
    Worksheet.Range("A8").Value="Объект аналитики";
    Worksheet.Range("B8").Value=123.45;
    Worksheet.Range("C8").Value=678.9;
    
    Worksheet.Range("A9").Value="Объект аналитики";
    Worksheet.Range("A9").Font.ColorIndex=3;//цвет шрифта - красный
 
    Worksheet.Range("B9").Value=123.45;
    Worksheet.Range("B9").Font.ColorIndex=3;
    Worksheet.Range("C9").Value=678.9;
    Worksheet.Range("C9").Font.ColorIndex=3;
    
    Worksheet.Range("A10").Value="Объект аналитики";
    Worksheet.Range("B10").Value=123.45;
    Worksheet.Range("C10").Value=678.9;
    
    Worksheet.Range("A11").Value="Объект аналитики";
    Worksheet.Range("B11").Value=123.45;
    Worksheet.Range("C11").Value=678.9;
    
    Worksheet.Range("A12").Value="Объект аналитики";
    Worksheet.Range("A12").Font.ColorIndex=5;//цвет шрифта - синий
 
    Worksheet.Range("B12").Value=123.45;
    Worksheet.Range("B12").Font.ColorIndex=5;
    Worksheet.Range("C12").Value=678.9;
    Worksheet.Range("C12").Font.ColorIndex=5;
    
    Worksheet.Range("A13").Value="Объект аналитики";
    Worksheet.Range("A13").Font.ColorIndex=3;//цвет шрифта - красный
 
    Worksheet.Range("B13").Value=123.45;
    Worksheet.Range("B13").Font.ColorIndex=3;
    Worksheet.Range("C13").Value=678.9;
    Worksheet.Range("C13").Font.ColorIndex=3;
    
    Worksheet.Range("A14").Value="Объект аналитики";
    Worksheet.Range("B14").Value=123.45;
    Worksheet.Range("C14").Value=678.9;
    
    Worksheet.Range("A15").Value="Объект аналитики";
    Worksheet.Range("B15").Value=123.45;
    Worksheet.Range("C15").Value=678.9;
    
    Worksheet.Range("A16").Value="Объект аналитики";
    Worksheet.Range("A16").Font.ColorIndex=3;//цвет шрифта - красный
 
    Worksheet.Range("B16").Value=123.45;
    Worksheet.Range("B16").Font.ColorIndex=3;
    Worksheet.Range("C16").Value=678.9;
    Worksheet.Range("C16").Font.ColorIndex=3;
    
    Worksheet.Range("A17").Value="Объект аналитики";
    Worksheet.Range("B17").Value=123.45;
    Worksheet.Range("C17").Value=678.9;
    
    Worksheet.Range("A18").Value="Объект аналитики";
    Worksheet.Range("B18").Value=123.45;
    Worksheet.Range("C18").Value=678.9;
    
    //Установка рамок
 
    Для НомСтр=5 по 18 Цикл
        Для ы=7 по 10 Цикл
            Worksheet.Range("A"+НомСтр).Borders(ы).LineStyle=1;
            Worksheet.Range("B"+НомСтр).Borders(ы).LineStyle=1;
            Worksheet.Range("C"+НомСтр).Borders(ы).LineStyle=1;
        КонецЦикла;
    КонецЦикла;
    
    //Группировка строк
 
    Worksheet.Range("7:8").Rows.Group();
    Worksheet.Range("10:11").Rows.Group();
    Worksheet.Range("14:15").Rows.Group();
    Worksheet.Range("17:18").Rows.Group();
    Worksheet.Range("6:11").Rows.Group();
    Worksheet.Range("13:18").Rows.Group();
    
    //Свёртка группировок до первого уровня
 
    Worksheet.Outline.ShowLevels(1);
    
    //Установка числового формата
 
    Попытка
        Worksheet.Range("B5:C18").NumberFormat="# ##0.00";
 
    Исключение
        Попытка
            Worksheet.Range("B5:C18").NumberFormat="# ##0,00";
 
        Исключение
        КонецПопытки;
    КонецПопытки;
    
    //Установка видимости приложения и его окна 
 
    Application.Visible=-1;
    Window.Visible=-1;
    
    //Закрепление области
 
    Worksheet.Range("A5").S_elect();
    Window.FreezePanes = -1;
КонецПроцедуры //Вывод
Разместил:   Версии: | 7.x | 8.x |  Дата:   Прочитано: 126255
 +9 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 53
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1С Предприятие что это? 13
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
Cодержимое указанного ниже веб-сайта в этом приложении блокируется... Aboutsecurity_1cv8c.exe 2
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э
Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора
ZIP-архив Создание 0
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий: * Создать архив с необходимыми параметрами, в который будут помещаться файлы. * Поместить в архив необходимые файлы. * Записать архив. Создание объекта За
Посмотреть все результаты поиска похожих
Комментарии
arbuzyka2525
25.10.2012 10:51Комментарий: 2
arbuzyka2525
Код 1C v 8.2 УП
  xl.ActiveWindow.SplitRow = 3; //фиксируем строки
xl.ActiveWindow.SplitColumn = 3;//фиксируем колонки
xl.ActiveWindow.FreezePanes = 1;//истина    
arbuzyka2525
24.10.2012 17:39Комментарий: 1
arbuzyka2525
А возможно ли как то зафиксировать таблицу? Т.е зафиксировать колонки что бы они не прокручивались.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!