Benutzer mit den meisten Antworten
Exceltabelle in Form einbetten

Frage
-
Hallo,
ich möchte gern eine (Excel)Tabelle in ein Userform einbetten, um in dieser Messdaten abzulegen und die Tabelle später als Exceltabelle abzulegen.
Ich kann nicht auf normales VBA in Excel zurückgreifen, da ich relativ viel mit seriellen Schnittstellen arbeite.
Hat jmd eine gute Anleitung oder am besten ein Beispiel.
Ich arbeite mit Visual Studio 2005 / VB.
Antworten
-
Hallo,
das .NET Framework selber oder auch Office, bieten keine eingebauten Möglichkeiten an, Excel Workbooks in Windows/WPF Formularen anzuzeigen. Es gibt mehrere Alternativen hierzu. Zunächst das DSO Framer Control, das hier verwendet werden kann, aber von Microsoft nicht mehr bereitgestellt wird, da es problembehaftet war und nicht stabil lief.
Aus der MSDN Hotline: DSO-Framer Control für Visual Studio 2008
http://social.msdn.microsoft.com/Forums/de/visual_studiode/thread/13f36d05-d8e3-4472-8e35-dad004080a67Mit etwas Glück findet man noch die ein oder andere Version im Internet:
Verwendung des DSO-Framer Controls
http://www.tksoft-online.de/index.php/ms-access-bsp-dbs/23/295-verwendung-des-dso-framer-controls.htmlIch persönlich würde aber von deren Verwendung abraten. MSFT wird es nicht ohne Grund komplett zurückgezogen haben.
Ebenfalls mit Einschränkungen verwendbar das Webbrowser Control. Siehe dazu folgenden Thread:
http://social.msdn.microsoft.com/Forums/de-CH/visualbasicde/thread/736fb9fa-9556-497c-b4de-78371bf01759Dann gäbe es noch meist kommerzielle Grid Lösungen, die oft Unterstützung bieten Excel Workbooks zu lesen, darzustellen und auch wieder zu speichern. Ein Beispiel wäre SpreadsheetGear. Hierzu habe ich allerdings keinerlei praktische Erfahrung.
Du schreibst, dass Du viel mit seriellen Schnittstellen arbeitest und daher nicht auf VBA zurückgreifen möchtest. Eine Alternative zu VBA mit vollem .NET Framework Support bieten VSTO Erweiterungen. Diese können auf Anwendungsebene oder Dokumentebene bereitgestellt werden. So kannst Du bspw. eine Arbeitsmappe erstellen, die VSTO/.NET Code ausführt:
VSTO 2005: Excel 2003-Lösung mit dynamischen Steuerelementen und Ansichten
Du würdest also hier keine eigene Oberfläche benötigen, sondern kannst ganz normale Excel Funktionalität für Deine Anwendung nutzen. Das Beispiel zeigt ja auch, wie Du verwaltete Steuerelemente und Formulare verwenden kannst.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 20. Juli 2011 09:17
Alle Antworten
-
Hallo,
das .NET Framework selber oder auch Office, bieten keine eingebauten Möglichkeiten an, Excel Workbooks in Windows/WPF Formularen anzuzeigen. Es gibt mehrere Alternativen hierzu. Zunächst das DSO Framer Control, das hier verwendet werden kann, aber von Microsoft nicht mehr bereitgestellt wird, da es problembehaftet war und nicht stabil lief.
Aus der MSDN Hotline: DSO-Framer Control für Visual Studio 2008
http://social.msdn.microsoft.com/Forums/de/visual_studiode/thread/13f36d05-d8e3-4472-8e35-dad004080a67Mit etwas Glück findet man noch die ein oder andere Version im Internet:
Verwendung des DSO-Framer Controls
http://www.tksoft-online.de/index.php/ms-access-bsp-dbs/23/295-verwendung-des-dso-framer-controls.htmlIch persönlich würde aber von deren Verwendung abraten. MSFT wird es nicht ohne Grund komplett zurückgezogen haben.
Ebenfalls mit Einschränkungen verwendbar das Webbrowser Control. Siehe dazu folgenden Thread:
http://social.msdn.microsoft.com/Forums/de-CH/visualbasicde/thread/736fb9fa-9556-497c-b4de-78371bf01759Dann gäbe es noch meist kommerzielle Grid Lösungen, die oft Unterstützung bieten Excel Workbooks zu lesen, darzustellen und auch wieder zu speichern. Ein Beispiel wäre SpreadsheetGear. Hierzu habe ich allerdings keinerlei praktische Erfahrung.
Du schreibst, dass Du viel mit seriellen Schnittstellen arbeitest und daher nicht auf VBA zurückgreifen möchtest. Eine Alternative zu VBA mit vollem .NET Framework Support bieten VSTO Erweiterungen. Diese können auf Anwendungsebene oder Dokumentebene bereitgestellt werden. So kannst Du bspw. eine Arbeitsmappe erstellen, die VSTO/.NET Code ausführt:
VSTO 2005: Excel 2003-Lösung mit dynamischen Steuerelementen und Ansichten
Du würdest also hier keine eigene Oberfläche benötigen, sondern kannst ganz normale Excel Funktionalität für Deine Anwendung nutzen. Das Beispiel zeigt ja auch, wie Du verwaltete Steuerelemente und Formulare verwenden kannst.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 20. Juli 2011 09:17
-
Ich habe das für Excel in der Weise gelöst, dass ich die Excel-Datei vorher als html-Datei exportiere und diese dann im Webbrowser anzeigen lasse. Das geht so schnell, dass das laden der Originaldatei auch nicht schneller geht. Reiter und alle Formatierungen bleiben (nahezu) vollständig erhalten.
Gruß Ahmed