Laden...

Reporting/Statistische Auswertung durch den Kunden ermöglichen ... mit welcher Technologie

Erstellt von diego2k vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.734 Views
D
diego2k Themenstarter:in
99 Beiträge seit 2008
vor 12 Jahren
Reporting/Statistische Auswertung durch den Kunden ermöglichen ... mit welcher Technologie

Hallo,

wir wollen ein Statistik Programm erstellen, das wie der Name schon sagt
verschiedene Statistiken beinhaltet.
Die Auswertungen können mit unter umfangreich sein, allerdings
sind alle in Excel nachbaubar.
Eine Wichtige Bedingung ist das man einfach neue Reports erstellen kann,
am besten ohne Programmieraufwand bzw. vom Kunden direkt.

So nun ist die Frage zur Technologie:
#Eine Art Excel Import, so das man komprimierte Datensätze
in ein Excel Formular laden kann und die Auswertungen selbst erstellt und verwalten kann.
Hat natürlich etliche Nachteile:
-Man braucht Excel
-Sieht vermutlich nicht sonderlich Professionell aus
-Ist es möglich ein Excel Sheet in einem eigenen C# Programm zu öffnen?
-...

#Access, das erstellen von hübschen Formularen mit Diagrammen ist leider
nicht so einfach (zumindest mit einer .adp)

#Crystal Report - Scheint immer mit Programmieraufwand verbunden zu sein.

Habt ihr hier Tipps Erfahrungen?

B
357 Beiträge seit 2010
vor 12 Jahren

Visual Studio LightSwitch ist doch genau dafür gedacht, oder habe ich da was falsch verstanden? Habe es mir noch nicht im Detail angeschaut und kann leider zum Aufwand nicht viel sagen, aber ich dachte, es wäre genau in diese Richtung gegangen.

F
10.010 Beiträge seit 2004
vor 12 Jahren

Ja, das hast du komplett falsch verstanden.
Lightswitch ist für das einfache erstellen und Programmieren von Datengtriebenen Anwendungen gedacht.
Es ist nicht frei von Programmierung.

@diego2k:
Was ihr machen wollt nennt sich BI ( Business Intelligence ) und ist ganz bestimmt nicht mal eben auf die beine zu stellen.
Du musst bedenken, je einfacher es für den Kunden werden soll, umso schwerer wird es für den Entwickler.

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo diego2k,

Ist es möglich ein Excel Sheet in einem eigenen C# Programm zu öffnen?

Ja ist möglich. Hierzu eignent sich z.B. NetOffice - Ein versionsunabhängiger Wrapper für MS-Office.

Aber die Excel-Variante würde ich nicht nehmen. Siehe Beitrag von FZelle.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

3.825 Beiträge seit 2006
vor 12 Jahren

Schau Dir neben Crystal Reports auch die moderneren Reporting Services an :

http://www.gotreportviewer.com/

Programmieren musst Du immer, wenn es für den Kunden bequem werden soll.

Ein Excel-Sheet kannst Du einfach erzeugen und öffnen : Alle Reporting Tools können in eine Excel-Datei ausgeben. Öffnen dann mit Process.Start("Tmp.xls").

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

D
diego2k Themenstarter:in
99 Beiträge seit 2008
vor 12 Jahren

Danke für die Antworten.

Das wir programmieren müssen ist schon klar ...
War bis jetzt eine Funktionalität nicht so vorhanden wie sich das der Kunde vorgestellt hat,
haben sie sich bis jetzt so ausgeholfen das sie Daten ins Excel exportiert haben
und darin praktisch ihre Auswertungen dann selbst erstellt haben.

Mein Gedanke war das auszubauen ...
Dh. ein Excel Formular erstellen das es ermöglich auf ein WCF Service zuzugreifen
und bereits vorkomprimierte Daten von dort herunter zu laden/updaten.
Nun können natürlich weitere Auswertungen mit extrem geringen Aufwand erstellt werden.
Im schlimmsten Fall müsste das WCF Service erweitert werden ...

Natürlich würde dann ein Programm geschrieben werden welches zur Verwaltung
dieser Excel Dateien dient. Dort wäre es dann auch möglich andere Formen von Auswertungen
zu speichern, wie z.B. welche die in C# mit dem ReportViewer erstellt wurden.

Was haltet ihr davon?

3.728 Beiträge seit 2005
vor 12 Jahren
Reporting

Hallo diego2k,

Excel-Anbindung ist sehr wichtig, da die Kunden damit flexibel sind und selber mit den Zahlen "spielen" können. Trotzdem sollten statische Reports (z.B. via ReportViewer) zusätzlich vorhanden sein, um die Standardfälle per Knopfdruck abdecken zu können.

Für die Excel-Anbindung eignet sich ein VSTO-Excel-AddIn (auf Anwendungsebene) hervorragend. Das AddIn kann Excel um neue Menüs bzw. Ribbons und .NET Dialoge erweitern, die es dem Kunden z.B. ermöglichen parametrisierte Abfragen über den WCF-Dienst direkt in Excel auszuführen und diese Abfrageergbnisse bereits vorab aufbereitet aufs Tabellenblatt zu bringen.

Du kannst mit VSTO auch eigene Arbeitsbereiche (die seitlich gedockten Panels, die es seit Office 2003 gibt) und Smarttags schreiben.
Der Vorteil eines zentral installieren AddIns ist, dass der Kunde die Funktionalität in jeder Excel-Mappe zur Verfügung hat und nicht nur in einer bestimmten Vorlage. Oft muss man Daten aus einer Anwendung mit vorhandenen anderen Daten kombinieren. Das geht sehr leicht, wenn man einfach die Excel-Mappe mit den vorhandenen Daten öffnet und sich per AddIn-Funktionalität die gewünschten Daten aus der Anwendung dazulädt.

Der Team Foundation Server von Microsoft (Tool zur Quellcode- und Projektverwaltung) macht dies ganz ähnlich.

Sowas ist auch nicht schwierig zu programmieren.
Welche Excel-Versionen musst Du denn unterstützen?

D
diego2k Themenstarter:in
99 Beiträge seit 2008
vor 12 Jahren

Super danke für die Antwort 😃
Von der Office Version ideal wären 2003/2007/2010

3.728 Beiträge seit 2005
vor 12 Jahren
Versionen

Hallo diego2k,

die neuste VSTO-Version unterstüzt nur Office 2007 und Office 2010. Für Office 2003 müsstest Du auf die Vorgängerversion zurückgreifen, die auch nicht mit Visual Studio 2010, sondern nur mit Visual Studio 2008 läuft.

Für Office 2003 stehen einige neue Features auch gar nicht zur Verfügung.

Alternative wäre ein klassisches Shared-Add-In. Das basiert auf COM-Interop und geht für alle Office-Versionen (2000 oder neuer).

Folgender Artikel könnte Dir da weiterhelfen: Developing COM Add-ins for Microsoft Office in VB.NET