Controle Excel dentro do controle WebBrowser
Eu estou tentando carregar um arquivo. Xls em um controle webbrowser no meu aplicativo Windows Forms de tal forma que eu possa manter atualizando-o com dados programaticamente.
Por exemplo, quando o usuário pressiona um botão no formulário, os dados da planilha do Excel são atualizados.
Eu consegui carregar os dados no controle com muita facilidade:
WebBrowser1.Navigate(PathToXLSFile)
E, de acordo com o que eu li on-line, eu deveria ser capaz de obter o controle dessa folha usando algo como:
Dim wb As Object
WebBrowser1.Navigate(PathToXLSFile)
wb = WebBrowser1.Document
Agora, tentei colocar essa linha final de código em AMBOSWebBrowser1_DocumentCompleted
e aWebBrowser1_Navigated
módulos, mas para ambos, eu entendoWebBrowser1.Document = Nothing
.
Eu olhei online e encontrei as soluções comoisto, isto eisto, mas nenhum deles está trabalhando para mim.
Novamente, o que eu quero fazer é carregar a planilha do Excel no controle do navegador (ou outro controle se você tiver ideias melhores) e poder editá-lo / alterá-lo via .NET.
Quanto ao meu cenário completo (porque eu preciso disso):
Basicamente, o meu programa gera uma enorme quantidade de dados que os usuários finais querem ver formatados de uma maneira particular (muitas vezes mudando), então o que eu fiz foi criar uma planilha Excel formatada com fórmulas referenciando de volta a uma tabela em uma planilha diferente. . Dessa forma, tudo o que o meu programa precisa fazer é cuspir todos os valores calculados para a tabela e, em seguida, os dados estão lá para os usuários verem (e são facilmente personalizáveis sem atrapalhar o meu programa).
O desafio é que agora eles querem vergrande quantidade de iterações desses dados em um formulário windows, então, basicamente, o que eu preciso fazer é cada vez que eles querem ver os novos dados, calculá-los rapidamente e re-mostrar para eles.
Eu descobri que o DataGridView era muito difícil de usar aqui por causa da formatação complexa, então o que eu quero fazer é mostrar a eles a planilha "Saída" (através de um controle webBrowser porque é tudo o que eu pude encontrar) e ter a habilidade manter a atualização da planilha "Input" com novos dados, de modo que a folha de saída continue sendo atualizada.