powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите с отчетами, пожалуйста
16 сообщений из 16, страница 1 из 1
Помогите с отчетами, пожалуйста
    #32705199
CSD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По порядку:

1) проектируется торговая задача (приход, расход, и.т.д.);
2) используется C# + MSSQL;
3) вопрос отчетности - нужен инструмент для рисования отчетов в ран-тайме, т.е. результирующий набор данных может содержать произвольное кол-во колонок и параметров header и footer, соответственно надо (программно!) подбирать шрифт, ширину колонки в зависимости от размера листа и.т.д., что-бы красиво показать и красиво распечатать.

Есть 2 решения:

а) сунуть все в Excel (можно даже сразу в режиме просмотра, если кому-то сетка глаза мозолит), а там пускай пользователь себе удаляет, вставляет, размещает на печать и.т.д.;
б) воспользоваться Crystal Reports, если там возможно решить все, что написано в п. 3 - поделитесь опытом, пожалуйста, как это сделать;
в) что-нибудь другое ...

Помогите, Я на связи ...
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32705212
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уфф...
"Веселая" задачка.
Я бы попробовал:
1 - отказаться от нее в пользу отчетов с известной структурой
2 - если 1 не получится, то таки Excel, хотя он и C# - это не "сладкая парочка"
3 - если 1 и 2 не получится, смотрел бы в сторону xsl + xml = html

PS: ИМХО, постановка задачи отдает "пользователь не знает чего он хочет". Это нормально. Как правило такие пользователи знают что такое Excel. Вот им выдайте все, пускай они разберутся, а потом вам же и закажут сделать те 3 отчета, что им действительно необходимы.
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32705225
CSD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОдинУфф...
"Веселая" задачка.
Я бы попробовал:
1 - отказаться от нее в пользу отчетов с известной структурой
2 - если 1 не получится, то таки Excel, хотя он и C# - это не "сладкая парочка"
3 - если 1 и 2 не получится, смотрел бы в сторону xsl + xml = html

PS: ИМХО, постановка задачи отдает "пользователь не знает чего он хочет". Это нормально. Как правило такие пользователи знают что такое Excel. Вот им выдайте все, пускай они разберутся, а потом вам же и закажут сделать те 3 отчета, что им действительно необходимы.

По порядку:
1 - не подходит, так как приходится вручную рисовать все формы, а всяких разных отчетов может набраться до 500 (есть в старой программе), причем в зависимости от "типа" предприятия (розница, опт, производство, ресторан, аптека, гостиница(услуги), заправки и.т.д. + комбинации между ними) конкретному пользователю нужны только ~ 100;
2 - хочется быть выше Excel;
3 - вообще какие-то дебри получаются.
По сути, надо чтобы можно было бы программно рисовать формы от данных и параметров печати, легко и быстро.

И еще. Мы давно уже знаем, чего надо пользователю, так как есть старая программа (Visual FoxPro в текстовом режиме), в которой уже достало рисовать (текст) в зависимости, к примеру, от того, что пользователь хочет еще одну колонку (сумму акциза, например) ...
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32705254
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CSD
По сути, надо чтобы можно было бы программно рисовать формы от данных и параметров печати, легко и быстро.

Я скажу такое. Это наверное можно сделать. google на запрос creating reports runtime отдает множество ссылок. Но все-таки, есть опасение, что на создание и отладку такого супер универсального компонента уйдет больше времени, чем на рисование 500 отчетов. Но это лично мое мнение.

В конце-концов, если отчеты стандартные, набор колонок, шапка и все, может быть стоит взять какой нибудь grid помощнее (ComponentOne, Infragistics etc), привязывать к нему данные и печатать его. Как правило, они умеют это делать достаточно неплохо.
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32705262
CSD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А промежуточные данные и заголовки (в том числе разделов)? Это как?
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32705272
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CSDА промежуточные данные и заголовки (в том числе разделов)? Это как?Я не понял к чему это относятся, решил, что к grid-ам. И не очень понял что имеется ввиду.
Решил что группировка и агрегаты по группе. Что ж, группировку и накопление итогов grid-ы хорошо поддерживают, умеют и печатать.
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32705277
CSD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну скажем, к примеру, вообще заголовок отчета - имеются в виду не заголовки таблицы, а иммено шапка документа
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32705287
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все это решаемо, поверьте.
Вот например ExpressPrinting System
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32705289
CSD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за полемику, если можно завтра продолжим
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32705327
SM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
take a look

http://www.afalinasoft.com/xl-report/
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32705329
SM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMtake a look

http://www.afalinasoft.com/xl-report/

sorry

http://www.afalinasoft.com/xl-report-net/index.html
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32706327
CSD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще какие есть методы и подходы?
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32711782
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была у нас такая проблема. Когда уговорили заказчика использовать MSOffict2003 так дела наладились. Отчеты формируем в XML формате. Excel их прекрасно понимает.
А вот так выглядит образец документа.

Код: plaintext
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.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:html="http://www.w3.org/TR/REC-html40">
 <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
  <Author></Author>
  <LastAuthor></LastAuthor>
  <Created></Created>
  <Company></Company>
  <Version></Version>
 </DocumentProperties>
 <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
  <WindowHeight> 9345 </WindowHeight>
  <WindowWidth> 11340 </WindowWidth>
  <WindowTopX> 480 </WindowTopX>
  <WindowTopY> 45 </WindowTopY>
  <ProtectStructure>False</ProtectStructure>
  <ProtectWindows>False</ProtectWindows>
 </ExcelWorkbook>
 <Styles>
  <Style ss:ID="Default" ss:Name="Normal">
   <Alignment ss:Vertical="Bottom"/>
   <Borders/>
   <Font ss:FontName="Arial Cyr" x:CharSet="204"/>
   <Interior/>
   <NumberFormat/>
   <Protection/>
  </Style>
 </Styles>
 <Worksheet ss:Name="╨Ы╨╕╤Б╤В1">
  <Table ss:ExpandedColumnCount="4" ss:ExpandedRowCount="2" x:FullColumns="1"
   x:FullRows="1">
   <Row>
    <Cell><Data ss:Type="Number"> 1 </Data></Cell>
    <Cell><Data ss:Type="Number"> 2 </Data></Cell>
    <Cell><Data ss:Type="Number"> 3 </Data></Cell>
    <Cell><Data ss:Type="Number"> 4 </Data></Cell>
   </Row>
   <Row>
    <Cell><Data ss:Type="Number"> 5 </Data></Cell>
    <Cell><Data ss:Type="Number"> 6 </Data></Cell>
    <Cell><Data ss:Type="Number"> 7 </Data></Cell>
    <Cell><Data ss:Type="Number"> 8 </Data></Cell>
   </Row>
  </Table>
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
   <PageSetup>
    <PageMargins x:Bottom="0.984251969" x:Left="0.78740157499999996"
     x:Right="0.78740157499999996" x:Top="0.984251969"/>
   </PageSetup>
   <Selected/>
   <Panes>
    <Pane>
     <Number> 3 </Number>
     <ActiveRow> 1 </ActiveRow>
     <ActiveCol> 3 </ActiveCol>
    </Pane>
   </Panes>
   <ProtectObjects>False</ProtectObjects>
   <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
 <Worksheet ss:Name="╨Ы╨╕╤Б╤В2">
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
   <PageSetup>
    <PageMargins x:Bottom="0.984251969" x:Left="0.78740157499999996"
     x:Right="0.78740157499999996" x:Top="0.984251969"/>
   </PageSetup>
   <ProtectObjects>False</ProtectObjects>
   <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
 <Worksheet ss:Name="╨Ы╨╕╤Б╤В3">
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
   <PageSetup>
    <PageMargins x:Bottom="0.984251969" x:Left="0.78740157499999996"
     x:Right="0.78740157499999996" x:Top="0.984251969"/>
   </PageSetup>
   <ProtectObjects>False</ProtectObjects>
   <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
</Workbook>
Это я щас для примера сгенерировал. Вообще-то тут много мусора. Экспериментально потыкай. Может не все элементы являются обязательными.
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32713225
avg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если MS SQL, то копни в сторону MS Reporting Services. Во многих случаях неплохо... Но не без недостатков.
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32714012
Фотография (`yka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьми генератор отчетов FastReport 2.53 или 3.0. Можно купить (2.53 примерно $20, 3 - $40 [для россиян]), можно в муле залить. Напиши DLL в делфи/билдере с необходимым интерфейсом и радуйся жизни! Куча возможностей, скриптовый язык, свои запросы к базе - передавай строку подключения, инициализируй нужные переменные и делай все внутри.
Я такую библиотечку налабал за 20 минут, и теперь всякие Excel'и и проч. идут лесом!

-----
Иногда решительный шаг вперед - результат хорошего пинка сзади
...
Рейтинг: 0 / 0
Помогите с отчетами, пожалуйста
    #32718456
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поскольку у Excel есть достоинство - пользователь может править отчет после его построения я бы выбрал готовое решение от AfalinaSoft, сыылку здесь кто-то уже приводил-стоит недорого, работает отменно, шаблоны для отчетов готовятся в течинии минут скорость выгрузки отчета в Excel поражает...
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите с отчетами, пожалуйста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]