Есть таблица значений. Нужно ее быстро сохранить в Excel программно.
Как это сделать? Подскажите плиз.
Знаю есть метод Записать ТабличногоДокумента. Но как из ТаблицыЗначений сделать ТабличныйДокумент?
Чую что тупой вопрос, ну вот и программист я такой же :)
---
Люди тут есть? Или ботаны сплошные.
Ну нет у тебя времени пройди мимо. На кой умником то претворяться?
Были бы у меня эти ЖКК не уж то не глянул.
---
Копируете данные из таблицы значений в табличный документ, потом сохраняете...
---
>А потом удивляемся почему обычные люди программистов с трудом переваривают.

Я еще отвечаю - а поиском воспользоваться религия не позволяет?..
---
Копируете данные из таблицы значений в табличный документ, потом сохраняете...
---
echo77 пишет:

        Копируете данные из таблицы значений в табличный документ, потом сохраняете...
сразу видно что имеем дело с очень начитанным человеком.
жаль только мозгов нет чтобы умело обрабатывать те знания что напихал в голову.
сложно написать пример команды?
---
ЖКК в руки.
---
Люди тут есть? Или ботаны сплошные.
Ну нет у тебя времени пройди мимо. На кой умником то претворяться?
Были бы у меня эти ЖКК не уж то не глянул.
---
Методы табличного документа слабо в синтаксис-помощнике посмотреть?
---
Даже могу сюда скопировать:

а толку?
нашел метод Записать. он то мне и нужен.
у меня уже есть ТаблицаЗначений. создать ТабличныйДокумент смогу по аналогии с тем кодом что есть в программе.
Но как ТЗ запихнуть в ТД я ХЗ. И в помощнике найти метод не смог. и в Яндексе нашел только ссылку на мисту, где десяток батанов всю страницу усерались над этим вопросом и не один не ответил.
Если вопросы есть, а ответов нет, то есть смысл этот ответ сделать. Даже если он есть в книжках. Любой ответ всегда можно найти. Просто вопрос времени.
Я не программист 1С. просто понимаю как эта штука устроена и иногда под свои задачки дописываю ее. Но вот уперся тут и все. Не могу пройти. Понятно что рано или поздно найду ответ. Или программиста который напишет. Но вот помощь знатоков очень бы сэкономило время. Для того и есть форумы.
Но вместо молчания (если нет времени) или ответа (если время есть) получаешь какие то ссылки и высказывания о том "как это все просто" и "какой глупый вопрос, мне аж на атвечать в падлу".
А потом удивляемся почему обычные люди программистов с трудом переваривают.
---
>А потом удивляемся почему обычные люди программистов с трудом переваривают.

Я еще отвечаю - а поиском воспользоваться религия не позволяет?..
---
```1c
    Таблица = Новый ТаблицаЗначений;
    Таблица.Колонки.Добавить("К1");
    Таблица.Колонки.Добавить("К2");
    Таблица.Колонки.Добавить("К3");
    Строка = Таблица.Добавить();
    Строка.К1 = 7;
    Строка.К2 = 8;
    Строка.К3 = 9;
    Строка = Таблица.Добавить();
    Строка.К1 = 4;
    Строка.К2 = 5;
    Строка.К3 = 6;

    ТабДок = Новый ТабличныйДокумент;
    Секция = ТабДок.ПолучитьОбласть("R1");

    Для Н=0 По Таблица.Количество()-1 Цикл
    С= Н+1;
    Секция.Область("R"+Строка(С)+"C1").Текст = Таблица[Н].К1;
    Секция.Область("R"+Строка(С)+"C2").Текст = Таблица[Н].К2;
    Секция.Область("R"+Строка(С)+"C3").Текст = Таблица[Н].К3;
    КонецЦикла;

    ТабДок.Вывести(Секция);
    ТабДок.Записать("C:\MayDoc.xls",ТипФайлаТабличногоДокумента.XLS);
```
---
В данном коде есть косяк он работает только до 1000 строк. Нужно "Строка(С)" заменить на "СтрЗаменить(Строка(С),Символы.НПП,"")"
---
Можно и без табличных документов http://infostart.ru/public/19139/
---
Душелов пишет:

        >А потом удивляемся почему обычные люди программистов с трудом переваривают.

Я еще отвечаю - а поиском воспользоваться религия не позволяет?..
искал. Яндексом. тут искал примеры разработок где сохранение в Excel есть. В XML нашел. В Excel нет. Поиском пользоваться более или менее умею. Просто он не всегда выдает то что нужно тогда когда нужно.
Что сложного дать ссылку на то место где есть пример или просто дать пример кода?
---
Владимир Полевик,
А! Красавэц! Спасибо огромное! :idea:
---
Душелов пишет:
Можно и без табличных документов http://infostart.ru/public/19139/
А вот это просто в яблочко!
Ну и где скажи мне пожалуйста в ЖКК такая красота написана?

Кстати за отсутствие реакции на мой выпад отдельный респект. Показатель силы и уверенности! Обычный чудик сорвался бы в перепалку ))

P.S. меня тоже раздражают тупые новички, в моей области, но без них никуда, и я либо просто не обращаю внимание, либо молча помогаю если есть время и возможность. но вот издеваться это низко ) все люди.
---
У меня вот появилась задача разобрать ТХТ из Клиент Банка и поместить данные в виде таблицы в EXcel. Получилось так:
---
а я вот поддержу Душелова. Получается, чукча не писатель, чукча читатель? давайте все мы на форуме будем задавать такие вопросы... у меня, к примеру, есть много не решенных технических вопросов... зачем учиться, читать книжки, буду их задавать на форумах, с требованием предоставления исходного кода :D
---
Иногда можно 20 раз прочитать книжку и ничего не понять, но достаточно, чтобы кто-то объяснил это же, но другим языком и всё сразу становится понятно
---
/////8.* прмерно так можно (набивал прям от сюда, возможны ошибки)
//// ТЗ - это таблица значений
тд = новый табличныйДокумент;
//// дапустим в макете есть область "область" с параметрами пар1 и пар2 (если что его можно создать)
макет = получитьМакет("<егоИмя>");
область = макет.получитьОбласть("область");
для каждого элемент из ТЗ цикл
  область.параметры.пар1 = элемент.знач1; ////думаю ясно что есть занч1
  область.пара...
конеццикла;
Тд.показать(); //его увидешь, ну а дальше там смотри как
---
```1c
    //Это код для 7.7
    //легко переводится для 8.x
    //макет на картинке
    //==========================================================­============
    Процедура ВывестиТЗвТаблицу(ТЗ, Заголовок = ")
    ТЕхел = СоздатьОбъект("Таблица");
    ТЕхел.ИсходнаяТаблица("Ехел");
    ТЗ.ВыбратьСтроки();
    Параметр = ";
    Для ин=1 По ТЗ.КоличествоКолонок() Цикл
    ТЗ.ПолучитьПараметрыКолонки(ин,,,,Параметр,,,);
    Если ин=1 Тогда
    ТЕхел.ВывестиСекцию("Секция_1|Секция_2");
    Иначе
    ТЕхел.ПрисоединитьСекцию("Секция_1|Секция_2");
    КонецЕсли;
    КонецЦикла;
    Пока ТЗ.ПолучитьСтроку() = 1 Цикл
    Для ин=1 По ТЗ.КоличествоКолонок() Цикл
    параметр = ТЗ.ПолучитьЗначение(ТЗ.НомерСтроки, ин);
    Если ин=1 Тогда
    ТЕхел.ВывестиСекцию("Секция_1|Секция_2");
    Иначе
    ТЕхел.ПрисоединитьСекцию("Секция_1|Секция_2");
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    ТЕхел.Показать(Заголовок);
    КонецПроцедуры // ВывестиТЗвТаблицу
```
---
//Для 8.х

```1c
    //======================================================================
    Процедура ВывестиТЗвТаблицу(ТЗ, Заголовок = ")
    ТЕхел = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Ехел");
    Область = Макет.ПолучитьОбласть("Секция_1|Секция_2");

    Для ин=0 По ТЗ.Колонки.Количество()-1 Цикл
    Область.Параметры.Параметр = ТЗ.Колонки[ин].Имя;
    Если ин=1 Тогда
    ТЕхел.Вывести(Область);
    Иначе
    ТЕхел.Присоединить(Область);
    КонецЕсли;
    КонецЦикла;

    Для каждого Стр Из ТЗ Цикл
    Для ин=0 По ТЗ.Колонки.Количество()-1 Цикл
    Область.Параметры.Параметр = Стр[ин];
    Если ин=1 Тогда
    ТЕхел.Вывести(Область);
    Иначе
    ТЕхел.Присоединить(Область);
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;

    ТЕхел.Показать(Заголовок);
    имяФайла = ?(ПустаяСтрока(Заголовок), ПолучитьИмяВременногоФайла(), КаталогВременныхФайлов()+"\"+Заголовок+".xls");
    ТЕхел.Записать(имяФайла, ТипФайлаТабличногоДокумента.XLS);
    КонецПроцедуры // ВывестиТЗвТаблицу
```
---
Попробуй через построитель отчета, например так:

```1c
    ТабДок = Новый ТабличныйДокумент;

    Построитель = Новый ПостроительОтчета();

    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТестоваяТаблица);
    Построитель.ВыводитьЗаголовокОтчета = Ложь;
    Построитель.Вывести(ТабДок );

    ИмяФайла = "C:\Users\AbisSoft\Desktop\test.xls";

    ТабДок.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLS97);
```
---
```1c
    Процедура ЗаписатьТаблицуЗначенийВcsv(тз, ИмяФайла, Разделитель=";")
    ФайлCSV = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI);
    Для Каждого Колонка Из тз.Колонки Цикл
    Текст = " + Текст + Колонка.Имя + Разделитель;
    КонецЦикла;
    ФайлCSV.ЗаписатьСтроку(Текст);
    Для Каждого Стр Из тз Цикл
    Текст = ";
    Для Каждого Колонка Из тз.Колонки Цикл
    Значение = Стр[Колонка.Имя];
    Если ТипЗнч(Значение) = Тип("Число") Тогда
    Значение = Формат(Значение,"ЧГ=0");
    КонецЕсли;
    Текст = Текст + Значение + Разделитель;
    КонецЦикла;
    ФайлCSV.ЗаписатьСтроку(Текст);
    КонецЦикла;
    ФайлCSV.Закрыть();
    КонецПроцедуры
```