Sterowanie Excelem w kontrolce WebBrowser

Usiłuję załadować plik .xls do formantu przeglądarki internetowej w mojej aplikacji Windows Forms w taki sposób, że mogę go aktualizować programowo za pomocą danych.

Tak więc, na przykład, gdy użytkownik naciśnie przycisk na formularzu, dane w arkuszu Excela zostaną zaktualizowane.

Bardzo łatwo udało mi się załadować dane do sterowania:

WebBrowser1.Navigate(PathToXLSFile)

I zgodnie z tym, co przeczytałem online, powinienem teraz móc uzyskać kontrolę nad tym arkuszem, używając czegoś w rodzaju:

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

Teraz próbowałem umieścić ten ostatni wiersz kodu w BOTH theWebBrowser1_DocumentCompletedWebBrowser1_Navigated moduły, ale dla obu, rozumiem toWebBrowser1.Document = Nothing.

Sprawdziłem online i znalazłem takie rozwiązania jakto, to ito, ale żaden z nich nie pracuje dla mnie.

Ponownie, co chcę zrobić, to załadować arkusz Excela do kontrolki przeglądarki internetowej (lub innej kontrolki, jeśli masz lepsze pomysły) i móc edytować / zmieniać ją za pomocą .NET.

Jeśli chodzi o mój pełny scenariusz (dlaczego tego potrzebuję):

Zasadniczo mój program generuje ogromną ilość danych, które użytkownicy końcowi chcą zobaczyć sformatowane w określony sposób (często zmieniają się), więc to, co zrobiłem, to utworzenie sformatowanego arkusza programu Excel z formułami odwołującymi się do tabeli na innym arkuszu programu Excel . W ten sposób wszystko, co mój program musi zrobić, to wypluć wszystkie obliczone wartości do tabeli, a następnie dane są dostępne dla użytkowników, aby je zobaczyć (i jest bardzo łatwe do dostosowania bez zepsucia mojego programu).

Wyzwanie polega na tym, że teraz chcą to zobaczyćwiele iteracji tych danych na formularzu Windows, więc w zasadzie to, co muszę zrobić, to za każdym razem, gdy chcą zobaczyć nowe dane, obliczyć je w locie i ponownie pokazać im.

Zorientowałem się, że DataGridView jest bardzo trudny do użycia tutaj ze względu na skomplikowane formatowanie, więc to, co chcę zrobić, to pokazać im arkusz „Wyjście” (przez kontrolkę webBrowser, ponieważ to wszystko, co mogłem znaleźć) i mieć zdolność aktualizować arkusz „Dane wejściowe” o nowe dane, tak aby arkusz wyjściowy był aktualizowany.

questionAnswers(1)

yourAnswerToTheQuestion