|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 9
|
|
Формирование ТКП19.07.2018, 11:58. Показов 1190. Ответов 13
Метки нет (Все метки)
Добрый день. Работаю смежно с отделом маркетинга и заморочился реализовать ПО для формирования ТКП.
Суть такая:Человек выбирает с определенными характеристиками прибор, данные вносятся в datagridview. При нажатии на кнопку "Сформировать ТКП" происходит формирование отчета А4 с фиксированной информацией как на официальном бланке, а таблица формируется из данных datagridview в виде таблицы. Формирование Excel или Word документа мне показался сложным.Я сделал пока изощренный вывод в документ для печати через printdocument, но пока не соображу как. Прошу подсказать самый безболезненный способ формирования такого отчета, желательно с возможность как печати, так и сохранения файла. Прикладываю скриншоты того что есть.
0
|
|
| 19.07.2018, 11:58 | |
|
Ответы с готовыми решениями:
13
Формирование бд Формирование бд
|
|
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
||
| 19.07.2018, 15:04 | ||
PrintDocument никогда не использовал, но, полагаю, что он нужен для очень специфического вывода в условиях отсутствия сторонних редакторов.
0
|
||
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 9
|
|||||||||||
| 20.07.2018, 07:36 [ТС] | |||||||||||
|
Начал разбираться в OpenXML нашел способ формирования документа Excel.
https://kbss.ru/blog/lang_c_sharp/315.html Но ругается на участке:
Якобы имя не существует в контексте, хотя все необходимое подключил. Так же на участке:
0
|
|||||||||||
|
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
| 20.07.2018, 10:52 | |
|
Hjort,
InsertCell это твой отдельный статический метод. Ты его добавил? Так же как и GenerateStyleSheet
0
|
|
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 9
|
|
| 06.08.2018, 07:44 [ТС] | |
|
Практически все сделал, НО есть проблема. В оригинальном ТКП в левой верхней части документа выводится логотип и реквизиты компании, а справа-вверху с помощью Автоформы(Активной формы?) создано окно-надпись с наименованием фирмы, должности и ФИО заказчика.
По логике вещей чтобы было удобно корректировать такое поле, необходимо создать такую автоформу с информацией из полей программы. Но как? Есть такие свойства как AddShape, но я совершенно не понял как корректно его использовать. В крайнем случае придется бить документ на колонки, мне кажется это потребует больше времени, чтобы все корректно выводилось.
0
|
|
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 9
|
|
| 08.08.2018, 08:59 [ТС] | |
|
Еще момент:как программно очистить весь холст открытого документа Ворд?
Добавлено через 1 час 50 минут ViterAlex, сможешь помочь советом?
0
|
|
|
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
| 08.08.2018, 09:58 | |
|
Hjort, что такое «холст» документа?
0
|
|
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 9
|
||||||
| 08.08.2018, 10:49 [ТС] | ||||||
|
ViterAlex, ну в идеале вызвать некую функцию .clear(), чтобы очистить открытый документ.
"Холст" все что находится в документе ворд:таблицы, текст, изображение. Пытался реализовать через примерно такого вида код:
0
|
||||||
|
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
||||||
| 08.08.2018, 11:02 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 9
|
|
| 08.08.2018, 11:18 [ТС] | |
|
ViterAlex,
Я такие варианты тоже искал, ошибка
0
|
|
|
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
||||||
| 08.08.2018, 11:25 | ||||||
|
Hjort, а, ну да, в Interop Range это метод, а не свойство. Ну значит так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 9
|
|
| 08.08.2018, 11:33 [ТС] | |
|
ViterAlex, вот спасибо! Решение было простое, а сам найти не смог
![]() Выше еще вопросы писал, будет время, дай пожалуйста пинок в нужном направлении, уже пару дней экспериментирую с информацией из интернета. Т.к. программированием не занимался особо никогда, есть вещи, которые без мануала ну никак. Практически все сделал, НО есть проблема. В оригинальном ТКП в левой верхней части документа выводится логотип и реквизиты компании, а справа-вверху с помощью Автоформы(Активной формы?) создано окно-надпись с наименованием фирмы, должности и ФИО заказчика. По логике вещей чтобы было удобно корректировать такое поле, необходимо создать такую автоформу с информацией из полей программы. Но как? Есть такие свойства как AddShape, но я совершенно не понял как корректно его использовать. В крайнем случае придется бить документ на колонки, мне кажется это потребует больше времени, чтобы все корректно выводилось. Но тоже под вопросом как, лучше просто активную форму, как по мне.
0
|
|
|
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
||
| 08.08.2018, 11:42 | ||
|
Будет проще, если ты покажешь документ, который хочешь сгенерировать
0
|
||
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 9
|
|
| 08.08.2018, 11:51 [ТС] | |
|
ViterAlex, шаблон - это вообще заново делать, я уже по факту добился корректного отображения программно, возникает вопрос только с заказчиком, пользователь вбил данные и их надо корректно вывести в противоположном углу не пересекаясь с левой стороной.
Опять же по шаблонам информация в сети скудная, вот и сделал как сделал.Муторно, но зато все на своих местах. Логотип из файла удалил, он немного больше места занимает, чем нужно, располагался над реквизитами,что слева.
0
|
|
| 08.08.2018, 11:51 | |
|
Помогаю со студенческими работами здесь
14
формирование массива Формирование картотеки Формирование строки Формирование массивов (С++). Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|