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

Из Windows Forms в Word / CSV

12.03.2021, 09:41. Показов 3444. Ответов 31

Студворк — интернет-сервис помощи студентам
Доброго дня, форумчане! Писал я программку, для облегчения рабочего процесса. Только один вопрос остался. Сейчас она содержит Большое кол-во Label, checkbox, radiobutton, richtextbox - и мне нужно информацию, которую они будут содержать в процессе использования программки выгрузить в ворд или CSV документ. Подскажите пожалуйста как реализовать!
Миниатюры
Из Windows Forms в Word / CSV   Из Windows Forms в Word / CSV  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.03.2021, 09:41
Ответы с готовыми решениями:

Как заполнить форму MS Word из WPF или Windows Forms?
как заполнить документ msWord через форму? Документ строится к примеру таким образом: Фамилия (данные из textBox1) Имя (данные из...

Как элементы Windows Forms использовать для грамотного расположения двух таблиц Windows Forms?
Как элементы Windows Forms использовать для грамотного расположения двух таблиц Windows Forms? На Windows Forms предполагается...

Windows.Forms - Процедуры, цикл for и System.Windows.Forms.Button
Доброго времени суток. Есть WinForms программа: ... private ClickedButtonId, ClickedButtonX, ClickedButtonY:Integer; ...

31
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
12.03.2021, 11:04
Для начала определиться с тем, как должен выглядеть результат. Форматы Word и CSV несколько разные
0
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
12.03.2021, 11:07  [ТС]
Да понятно, но правильнее наверное будет все же в ворд я думаю...
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
12.03.2021, 11:11
Daimonos, можно и туда и туда. Это просто разные методы будут. Вопрос, повторю, в том, как должен выглядеть результат. Т.е. вот к этим скриншотам как должен выглядеть документ?
0
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
12.03.2021, 11:23  [ТС]
А, понял. В идеале документ должен состоять из статической части например в правом верхнем углу надпись "Дополнение № Х к методическим рекомендациям" и дальше уже получать данные из формы -
сначала я думал прописать каждый пункт прямо как на скрине, но чтобы выбранный например форматировался с подчеркиванием и жирным шрифтом, но я так подозреваю, что это очень долго будет по этому хочу выводить только данные типа с текстбоксов (там еще к каждому разделу есть рич текстбокс для коментария) и собственно уже выбранный результат с цифрой балла, который ему соответствует. Так же лейблы , в которых будет выводится подведение итогов так же должны переноситься в документ.
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
12.03.2021, 11:26
Цитата Сообщение от Daimonos Посмотреть сообщение
В идеале документ должен состоять из статической части например в правом верхнем углу надпись
Значит, нужно подготовить шаблон.
Цитата Сообщение от Daimonos Посмотреть сообщение
но я так подозреваю, что это очень долго будет по этому хочу выводить только данные типа с текстбоксов (там еще к каждому разделу есть рич текстбокс для коментария) и собственно уже выбранный результат с цифрой балла, который ему соответствует. Так же лейблы , в которых будет выводится подведение итогов так же должны переноситься в документ.
Вот сделай это сначала руками и тогда можно будет двигаться в сторону автоматизации. Долго это не будет, ты же не базу данных выгружаешь.
1
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
12.03.2021, 14:21  [ТС]
Да шаблон есть как в xls так и в doc, я собственно с него и переношу на форму

Добавлено через 2 часа 51 минуту
Цитата Сообщение от ViterAlex Посмотреть сообщение
Долго это не будет, ты же не базу данных выгружаешь.
Ну по идее да, но там если взять даже 8 шрфитом то на 6 вордовских страниц примерно форма...
0
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
15.03.2021, 09:33  [ТС]
Мне осталось только выгрузку сделать, помогите пожалуйста разобраться как правильно это реализовать
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
15.03.2021, 15:39
Daimonos, задавай конкретные вопросы. Что именно не получается?
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
15.03.2021, 18:39
Цитата Сообщение от ViterAlex Посмотреть сообщение
задавай конкретные вопросы. Что именно не получается?

Не по теме:

Все!

0
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
15.03.2021, 20:29  [ТС]
Цитата Сообщение от Kazbek17 Посмотреть сообщение
Не по теме:
Все!
Ну ))) не совсем так, но ... ))
Цитата Сообщение от ViterAlex Посмотреть сообщение
Daimonos, задавай конкретные вопросы. Что именно не получается?
Пока не получается задать статичную часть и сделать ниже в документе таблицу, которая будет выгружать мои чекбоксы лейблы текстбоксы и прочую лабуду
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
15.03.2021, 20:41
Daimonos, я думаю нужно начать отсюда
Поиск спец слов в Word и их замена
1
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
15.03.2021, 21:21
Цитата Сообщение от Daimonos Посмотреть сообщение
сделать ниже в документе таблицу, которая будет выгружать мои чекбоксы лейблы текстбоксы и прочую лабуду
С таблицей не получится. Её придётся формировать программно.
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
15.03.2021, 21:46
Цитата Сообщение от ViterAlex Посмотреть сообщение
С таблицей не получится.
Это почему же ? В шаблоне Word можно указать все, что угодно, в том числе таблицу. А потом шарпом вносить туда данные.
0
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
15.03.2021, 22:32  [ТС]
Цитата Сообщение от ViterAlex Посмотреть сообщение
С таблицей не получится. Её придётся формировать программно.
Я пытался использовать в шарпе TableLayOutPanel но так у меня таблицы нормальной с него не вышло...
Цитата Сообщение от MsGuns Посмотреть сообщение
Это почему же ? В шаблоне Word можно указать все, что угодно, в том числе таблицу. А потом шарпом вносить туда данные.
то есть надо загрузить документ в проект для начала?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
15.03.2021, 22:55
Цитата Сообщение от Daimonos Посмотреть сообщение
то есть надо загрузить документ в проект для начала?
Если Вы хотите использовать шаблон, то да.
Это намного легче, чем делать разметку документа из шарпа.

Это во-первых.

А во-вторых, для изменения вида документа: оформление, шрифты, стили, цвет, картинки, выделение и т.д. Для всего этого не нужно лазить в программу - юзер сам может изменить все, что нужно, непосредственно в шаблоне документа, а не звать каждый раз программиста. Да и самому программисту может понадобиться сделать изменения в оформлении документа - проще сделать это в Word/Excel, чем курочить проект.
0
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
15.03.2021, 23:16  [ТС]
Цитата Сообщение от MsGuns Посмотреть сообщение
Если Вы хотите использовать шаблон, то да.
Это намного легче, чем делать разметку документа из шарпа.
Это во-первых.
А во-вторых, для изменения вида документа: оформление, шрифты, стили, цвет, картинки, выделение и т.д. Для всего этого не нужно лазить в программу - юзер сам может изменить все, что нужно, непосредственно в шаблоне документа, а не звать каждый раз программиста. Да и самому программисту может понадобиться сделать изменения в оформлении документа - проще сделать это в Word/Excel, чем курочить проект.
Ну это понятно, у меня есть та таблица, которую я хочу перенести таким образом в шарп, то есть ее надо включить в проект, но там где данные выставляются проставить везде нули, верно?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
16.03.2021, 01:28
Цитата Сообщение от Daimonos Посмотреть сообщение
проставить везде нули, верно?
Используйте маркеры. Я не помню уже, как именно, давно было, но в офисе можно проставлять маркеры, по которым можно быстро находить области для данных.

Добавлено через 19 минут
Лет надцать назад, когда я работал на крупном заводе, мы, утомившись писать репорты для служб, придумали такую схему.
1. По наброску отчета, предоставленному службой, рисовали в ёкселе шаблон и писали к нему макрос, который соединялся с SQL-сервером и вызывал SP с параметрами, получаемыми из некоторых ячеек на специальном шите книги шаблона (строка соединения там тоже имелась). Потом из полученного датасета (датасетов) этим же макросом информация рассовывалась по шиту как было нужно. Включая всякие группировки, итоги и т.д.
2. Готовый шаблон писался в БД в специальную таблицу вместе с именем макроса и входными параметрами (точнее, их дескрипторами). Каждый отчет привязывался к конкретным службам
3. Клиентское приложение "Отчеты" показывало юзеру список отчетов, доступных его службе.
4. Юзер выбирал отчет, приложение считывало информацию о нем из БД и строило динамическую формочку для ввода исходных данных. Юзер вводил их и жал "Получить отчет". Приложение считывало Excel-шаблон, по дескрипторам параметров вносило в соответствующие им ячейки введенные данные и запускало указанный макрос. И все

Т.е. при создании нового отчета или правке старого мы вообще не лазили в код, а извлекали шаблон из БД (если была правка) или создавали новый. Все программирование сводилось к написанию макроса + SP на сервере. Затем писали шаблон в базу.

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

Это было золотое время - премии так и сыпались
1
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
06.04.2021, 15:26  [ТС]
Результата добился. Однако сейчас возник вопрос, как правильнее сделать, чтобы шаблон самого документа лежал в папке Input, а готовый ответ в папке output, которые я создал в папке с проектом.
Процесс сохранения:

C#
1
2
3
            _Document oDoc = GetDoc(Environment.CurrentDirectory + "\\Test_Nulled.dotx");
            oDoc.SaveAs(FileName: Environment.CurrentDirectory + "\\test_out_" + textSurName.Text + ".docx");
            oDoc.Close();
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
07.04.2021, 02:45
Шаблон документа может лежать где угодно. Зависит от того, кто за него "отвечает". Если сам пользователь, то файл может находиться на его ПК, если разработчик, то лучше всего хранить его в базе или "закрытой" для остальных сетевой или локальной, на ПК разработчике , папке.
Путь к папке можно хранить в сеттингах приложения или давать выбирать его в OpenDialog.

Результирующий файл - уже не шаблон, а обычный документ. Куда и с каким именем его сохранять - дело пользователя. Обычно для этого хватает вполне сохранения из самого Word либо, если приложение не открывает сам Word, а лишь показывает его в окне, то SaveDialog.

Добавлено через 3 минуты
Хранение шаблона в общей сетевой папке чревато тем, что файл будет испорчен (например, потеряются макросы, если юзер его неаккуратно откроет и или неаккуратно сохранит) или вообще утерян.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2021, 02:45
Помогаю со студенческими работами здесь

Нужен перевод кода с С# Windows Forms в C++ Windows Forms
Нужно конвертировать(перевести код) в С++ Windows Forms using System; using System.Collections.Generic; using...

Код для Windows Forms не работает в Web Forms?
В том году я делал лабораторки по Winforms. Естественно, они все у меня сохранились, и я полез в их код, вспоминать былое, так сказать,...

Взаимодействие Forms и Word
Est' li kakoe-to vzaiomdeistvie VBA i elementami iz Forms, k primeru 'Text Forms Field'????? Zaranie blagodaren.

Выражение типа "System.Windows.Forms.Control" не может быть выражением типа "System.Windows.Forms.Menu"
Перевёл проект с версии 2008 на версию 2010 Наткнулся при компиляции на кучу не объявленных переменных и на 2 ошибки. Собственно с...

Выгрузка данных в Word из Forms
Если есть примеры,очень нужно


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru