none
Exceltabelle in Form einbetten RRS feed

  • 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.

    Mittwoch, 20. Juli 2011 05:50

Antworten

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-dad004080a67

    Mit 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.html

    Ich 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-78371bf01759

    Dann 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
    Mittwoch, 20. Juli 2011 06:16
    Moderator
  • Hallo Thomas....

    vielen Dank für deine Ausführliche Antwort. 

    Ich habe mir schon gedacht, dass das nicht so einfach geht, weil man im Inet dazu kaum eine vernüftige Anleitung oder Lösung findet.

     

     


    Mittwoch, 20. Juli 2011 07:01
  • 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

    Freitag, 29. Juli 2011 23:21