Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 03.02.2013
Сообщений: 126

Загрузка в шаблон MS WORD данных

03.02.2019, 14:38. Показов 1410. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, проблема в следующем нужно в готовый шаблон MS WORD загрузить значения переменных, все работает кроме одной строки, возникает ошибка рис. 1. помогите как исправить..

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
private void ReplaceWordStub(string stubToReplace, string text, Word.Document wordDocument)
        {
            var range = wordDocument.Content;
            range.Find.ClearFormatting();
            range.Find.Execute(FindText: stubToReplace, ReplaceWith: text);
        }
 
 
        private void button2_Click(object sender, EventArgs e)
        {
            string pro_id_pledge = Global_class.pro_photo;
 
            var wordApp = new Word.Application();
            wordApp.Visible = false;
            string thisputh = Global_class.puth + @"\contrat_pledge.docx";
 
            var wordDocument = wordApp.Documents.Open(@thisputh);
            loadcompany();
            loadpledge(pro_id_pledge);
            loadclient(t_pledge_pro_id_client);
            loaddocument(t_client_pro_id_client);
            loadtarif(t_pledge_pro_id_rate);
            try
            {
                ReplaceWordStub("{t_company.name}", t_company_pro_name, wordDocument);
                ReplaceWordStub("{t_company.actual_adress}", t_company_pro_actual_adress, wordDocument);
                ReplaceWordStub("{t_company.inn}", t_company_pro_inn, wordDocument);
                ReplaceWordStub("{t_company.kpp}", t_company_pro_kpp, wordDocument);
                ReplaceWordStub("{t_company.okpo}", t_company_pro_okpo, wordDocument);
                ReplaceWordStub("{t_company.ogrn}", t_company_pro_ogrn, wordDocument);
                ReplaceWordStub("{t_pledge.sum_pledge}", t_pledge_pro_sum_pledge.ToString(), wordDocument);
                ReplaceWordStub("{t_pledge.time_pledge}", t_pledge_pro_time_pledge.ToString(), wordDocument);
                ReplaceWordStub("{t_pledge.return}", t_pledge_pro_data.AddDays(t_pledge_pro_time_pledge).ToString(), wordDocument);
                ReplaceWordStub("{t_client}", t_client_pro_surname + " " + t_client_pro_name + " " + t_client_pro_patronymic, wordDocument);
                ReplaceWordStub("{t_client.birth}", t_client_pro_date_birth.ToShortDateString().ToString(), wordDocument);
                ReplaceWordStub("{t_client.doc}", t_document_pro_tip_documenta, wordDocument);
                ReplaceWordStub("{t_client.doc.series}", t_document_pro_series, wordDocument);
                ReplaceWordStub("{t_client.doc.number}", t_document_pro_number, wordDocument);
                ReplaceWordStub("{t_client.doc.date_of}", t_document_pro_date_of.ToShortDateString().ToString(), wordDocument);
// ******************************************************
                ReplaceWordStub("{t_client.doc.issued}", t_document_pro_issued, wordDocument);// Ошибку выдает на эту строку
//**********************************************************
                ReplaceWordStub("{t_rate.time_delay}", t_rate_pro_time_delay.ToString(), wordDocument);
                ReplaceWordStub("{loan_return}", (t_pledge_pro_data.AddDays(t_pledge_pro_time_pledge + t_rate_pro_time_delay)).ToShortDateString().ToString(), wordDocument);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
 
            saveFileDialog1.Filter = "docx|*.docx";
            saveFileDialog1.FilterIndex = 1;
            saveFileDialog1.RestoreDirectory = true;
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                wordDocument.SaveAs2(@saveFileDialog1.FileName.ToString());
                wordApp.Visible = true;
            }
   
        }
Миниатюры
Загрузка в шаблон MS WORD данных  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.02.2019, 14:38
Ответы с готовыми решениями:

Вывод данных в шаблон Word
Здравствуйте! Помогите разобраться. Документ Word формируется с помощью закладок. Есть главная форма и на ней подчиненная. Подчиненная...

Экспорт данных в шаблон Word
Приветствую форумчане! Помогите мне пожалуйста! Скоро защита диплома( На форме имеется textBox и comboBox и кнопка button. Я пытаюсь по...

Экспорт данных в шаблон Word
Здравствуйте, подскажите как сформировать отчёт из С# в Word. Заранее спасибо =)

8
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
03.02.2019, 21:21
Не находит закладку. В приведённом отрывке нет обращения к закладкам. Ошибка точно в этом месте?
1
2 / 2 / 0
Регистрация: 03.02.2013
Сообщений: 126
04.02.2019, 07:42  [ТС]
Прошу прощения загрузил не то изображение (ночью работал), проблема в той выделенной строке звездочками, я так понимаю он не может ее передать из за длинного содержания (фото прилагаю).

P.S. фото в теме эта ошибка когда я пробовал решить проблему по другому .
Миниатюры
Загрузка в шаблон MS WORD данных  
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
04.02.2019, 11:26
255 символов и всё. Find & Replace (w\ Long Strings)
1
2 / 2 / 0
Регистрация: 03.02.2013
Сообщений: 126
04.02.2019, 11:38  [ТС]
Вы не знаете какой либо способ обойти?
0
2 / 2 / 0
Регистрация: 03.02.2013
Сообщений: 126
05.02.2019, 07:33  [ТС]
Вроде бы разобрался в плане:
1. В БД поле было прописано как NVarChar(500).
2. Если допустим загрузить любой текст меньше 500 символов то он после него вставлял пробелы, что бы набрать 500 символов
Попробую заменить тип на просто NvarChar, он же вроде динамический?
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.02.2019, 09:12
Wolverine_, если работа данными базы, то может получится использовать слияние?
0
2 / 2 / 0
Регистрация: 03.02.2013
Сообщений: 126
05.02.2019, 09:19  [ТС]
Не совсем понял про, что вы имеете в виду
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.02.2019, 09:38
Использование функции слияния в Word для создания и печати стандартных писем
Я не утверждаю, что это подходит. Может быть, не удастся подключиться к базе, но попробовать стоит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.02.2019, 09:38
Помогаю со студенческими работами здесь

Word + Excel, Импорт данных из Excel в шаблон Word с условиями
Здравствуйте! Помогите, пожалуйста. Есть файл Word с расставленными закладками-метками и файл Excel с несколькими листами. С помощью...

Выгрузка данных в шаблон word и excel
Добрый день. Нужна Ваша помощь по выгрузке данных в шаблон word и excel. Частично это все работает, но мне хотелось бы подправить....

Вставка данных из Excel в шаблон WORD
Проблема такая: Есть файл Excel из которогоданные вставляются в шаблон word? Все вставляется куда нужно, только вот в шаблоне есть например...

Импорт данных из формы в шаблон Word
Добрый вечер. Помогите пожалуйста, сделать так чтобы данные из формы "Заказать путевку" по нажатию кнопки перенеслись в шаблон word....

Перенос данных из Acces в шаблон Word
SOS!!! Помогите полному чайнику (хотя, уже не полному - вся жидкость выкипела от тщетных усилий))) Смысл таков: --есть шаблоны...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru