Entwickler-Ecke
WinForms - WinForms Control für Excel-Dateien
Ralf Jansen - Do 31.03.16 11:19
Ohne jetzt einen konkreten Vorschlag zu haben solltest du uns deine Randbedingungen mitgeben und genau sagen was für dich genau ~anzeigen~ bedeutet.
- Soll das mit/ohne installiertem Excel funktionieren
- welche Formate genau (xls/xlsx/Templateformate etc.)
- müssen Formeln funktionieren
- müssen aktive Inhalte (Diagramme etc.) funktionieren
haschme - Do 31.03.16 11:41
Excel muss nicht zwingend installiert sein, zuletzt habe ich immer die NetOffice Library verwendet um mit Excel zu arbeiten.
Als Formate werden nur .xls und .xlsx benötigt
Formeln müssen nicht funktionieren und Diagramme oder andere aktive Inhalte müssen ebenfalls nicht funktionieren.
Im Prinzip geht es darum, dass ich eine Software geschrieben habe die die Anzahl der Zeilen von verschiedenen Dateien ermittelt.
Diese Mengen werden danach in eine existierende Excel-Vorlage geschrieben.
Bisher muss der User immer die Excel-Vorlage öffnen und gucken welche Zellen mit welchen Mengen befüllt werden sollen.
Diese Mengen gibt er dann in einer Tabelle auf der WindowsForm ein.
Um das ganze etwas benutzerfreundlicher zu gestalten, habe ich vor die o.g. Komponente zu entwickeln.
Dadurch kann der User seine Excel-Vorlage direkt in der Form begutachten und die Spalten markieren, in die später die Datei-Zeilenanzahl eingetragen werden sollen.
Ich stelle mir dabei ein Event vor, das nach einem Rechtsklick die markierten Zellenpositionen an die Form übergibt.
Th69 - Do 31.03.16 12:08
Hallo,
kennst du schon
SourceGrid [
http://sourcegrid.codeplex.com/] (eine .NET-Komponente, welche vom Aussehen an Excel angelehnt ist)?
Aber egal ob diese Komponente oder eine selbstgeschriebene, das größte Problem dürfte wohl das Parsen und Schreiben des .xls bzw. .xlsx Formats sein (außer z.B. die
OleDbConnection wie im 2. Link zu verwenden).
Ansonsten bleibt dir wohl nichts anderes übrig als direkt Excel in deinem Programm einzubetten.
Geht es dir also nur um die Daten oder soll die Funktionalität von Excel zur Verfügung stehen?
Ralf Jansen - Do 31.03.16 12:51
Es ist etwas mißverständlich möchtest du nur Excel anzeigen oder auch etwas ändern?
haschme - Do 31.03.16 15:15
Das Control soll nur als Anzeige dienen.
Trotzdem würde ich gerne Zellen markieren können.
Allerdings wird Inhaltlich nix verändert.
Das Ändern der Excel-Datei wird nachträglich mit der Software erreicht.
Der Nutzer soll im Control die Zellen markieren in denen in der Original-Datei etwas reingeschrieben werden soll und mit Rechtsklick bestätigen.
Durch den Rechtsklick sollen dann die Positionen der markierten Zellen von der Komponente an die Software übermittelt werden.
Dadurch weis die Software wo in der Original-Datei reingeschrieben werden soll.
So war zumindest mein Plan :D
Ralf Jansen - Do 31.03.16 15:24
Ich würde dann eher denn Weg über OleDb+Jet/Ace Treiber gehen und das Zeug in einem eigene Grid anzeigen.
Das ist minimal invasiv und braucht selbst kein Excel.
Das embedden von Excel im Webbrowser ist ein riesen Heckmeck. Gerade wenn das später auf Systemen laufen soll die du nicht vollständig unter Kontrolle hast wird das zum Support Alptraum. Es gibt tausende von nicht offensichtlichen Möglichkeiten das das später auf einem System nicht funktioniert.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!