Steuern Sie Excel im WebBrowser-Steuerelement

Ich versuche, eine XLS-Datei in ein Webbrowser-Steuerelement in meiner Windows Forms-App zu laden, sodass ich sie weiterhin programmgesteuert mit Daten aktualisieren kann.

Wenn der Benutzer beispielsweise eine Schaltfläche im Formular drückt, werden die Daten in der Excel-Tabelle aktualisiert.

Ich habe es sehr einfach geschafft, die Daten in die Steuerung zu laden:

WebBrowser1.Navigate(PathToXLSFile)

Und gemäß dem, was ich online gelesen habe, sollte ich nun in der Lage sein, die Kontrolle über dieses Blatt zu erlangen, indem ich Folgendes verwende:

Dim wb As Object
WebBrowser1.Navigate(PathToXLSFile)
wb = WebBrowser1.Document

Jetzt habe ich versucht, diese letzte Codezeile in BEIDE zu setzenWebBrowser1_DocumentCompleted und dasWebBrowser1_Navigated Module, aber für beide verstehe ich dasWebBrowser1.Document = Nothing.

Ich habe online gesucht und Lösungen wie gefundendiese, diese unddiese, aber keiner von ihnen arbeitet für mich.

Auch hier möchte ich das Excel-Blatt in das Webbrowser-Steuerelement (oder ein anderes Steuerelement, wenn Sie bessere Ideen haben) laden und es über .NET bearbeiten / ändern können.

Für mein komplettes Szenario (warum ich das brauche):

Grundsätzlich erzeugt mein Programm eine enorme Menge an Daten, die Endbenutzer auf eine bestimmte Art und Weise formatiert sehen möchten (die sich häufig ändert). Ich habe also ein formatiertes Excel-Blatt mit Formeln erstellt, die auf eine Tabelle auf einem anderen Excel-Blatt verweisen . Auf diese Weise muss mein Programm nur alle berechneten Werte in die Tabelle ausspucken und die Daten stehen dann den Benutzern zur Verfügung (und können sehr einfach angepasst werden, ohne mein Programm zu beschädigen).

Die Herausforderung ist, dass sie jetzt sehen wollenviele Ich muss also im Grunde jedes Mal, wenn sie die neuen Daten sehen möchten, sie im laufenden Betrieb berechnen und ihnen erneut anzeigen.

Ich stellte fest, dass die Verwendung von DataGridView aufgrund der komplexen Formatierung hier sehr schwierig ist. Ich möchte ihnen daher das Blatt "Ausgabe" (über ein WebBrowser-Steuerelement, da dies alles ist, was ich finden konnte) und die Fähigkeit zeigen um das "Eingabe" -Blatt mit neuen Daten zu aktualisieren, so dass das Ausgabe-Blatt ständig aktualisiert wird.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage