Visual Basic.NET - Abrir excel en un formulario - ¿¿??

 
Vista:
sin imagen de perfil
Val: 12
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Abrir excel en un formulario - ¿¿??

Publicado por Julen (4 intervenciones) el 18/10/2017 11:20:24
Buenos días compañeros,

Soy nuevo en el mundo .NET por lo que perdonarme si la duda es absurda, pero he buscado por el foro y no encuentro exactamente lo que busco.

Necesito abrir un archivo excel en un formulario, he utilizado códigos como System.Diagnostic.Process.Star(filename), o algunos por el estilo, pero me abren el excel directamente. Necesito abrir un excel dentro de una ventana, o formulario, que es lo que quiero enseñar al fin y al cabo a los usuarios.

Espero poder solucionar esto ya que un compañero me ha hablado de un componente de pago (demasiado) que lo soluciona.

Un saludo a todos y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 481
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Abrir excel en un formulario - ¿¿??

Publicado por Miguel (476 intervenciones) el 18/10/2017 19:07:52
Claro que se puede. Primero tendrás que leer la hojas de cálculo con la ayuda de alguna biblioteca (CloxedXML por ejemplo) y luego pasarlas a tus controles (DataGridView en este caso).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Abrir excel en un formulario - ¿¿??

Publicado por Julen (4 intervenciones) el 19/10/2017 09:14:55
Gracias Miguel por tu respuesta.

No se si esa es la solución correcta, tengo entendido que el DataGridView es para archivos más pequeños. El archivo excel que yo tengo es .xlsm con macros con un peso de 65 Mb que llama a otro archivo .xls de 20 Mb. El programa esta realizado en Excel, lo hace todo internamente. Dispone de formato, esta pensado para funcionar tal cual, por lo que el entorno de formularios que le quiero poner es simplemente para que los usuarios no puedan abrir el archivo y ver como esta hecho, sino que "bloquearlo" a los usuarios. Por ello necesito una ventana que abra como esta mi archivo.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Diego
Val: 605
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Abrir excel en un formulario - ¿¿??

Publicado por Diego (190 intervenciones) el 19/10/2017 18:11:37
Hola Julen, me parece que es mejor utilizar las opciones que trae el excel para bloquear la edición y ocultar las formulas.
Te recomiendo preguntar en el foro de Excel de LWP.

Saludos y +Bytes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 481
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Abrir excel en un formulario - ¿¿??

Publicado por Miguel (476 intervenciones) el 19/10/2017 21:30:17
Entiendo. Pues en este caso tendrás que buscar otra solución (como la que propone @Diego, de usar las opción de Excel de bloquear código/fórmulas) ya que embeber Excel directamente en un formulario no estoy seguro si es posible.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel
Val: 13
Ha aumentado su posición en 8 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Abrir excel en un formulario - ¿¿??

Publicado por Manuel (4 intervenciones) el 19/10/2017 21:57:03
Si lo que quieres es interactuar con un archivo de Excel, pues para eso está el namespace: Microsoft.Office.Interop.Excel... si te llega con esto, pues mira el siguiente enlace:
https://www.dotnetperls.com/excel-vbnet

Pero creo que lo que tu buscas distinto: es poder abrir un archivo de excel directamente en un formulario de una app creada con vb.net, para eso hay opciones... normalmente la que tu necesitas es recurrir a un componente de terceros que lo permita, como este:
https://www.e-iceblue.com/Introduce/free-xls-component.html#.WekDOFu0PIU
https://www.e-iceblue.com/Introduce/spreadsheet-for-net.html#.WekDOFu0PIU

Incluso podrías usar Excel directamente como un componente ActivetX (como cuando insertas una hoja de cálculo en Word por ejemplo) en un formulario... pero eso al final es problemático y solo sirve para casos puntuales.

Hasta luego
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Abrir excel en un formulario - ¿¿??

Publicado por Julen (4 intervenciones) el 20/10/2017 09:50:17
Muchas gracias Manuel,Miguel y Diego, efectivamente era una opción abrir el excel, pero dado que el programa se vende de cara al público queda mal que habrá directamente un excel y que no lo haga dentro de un formulario. En cuanto al componente que me has mandado Manuel ya había encontrado dichos componentes, ya que antiguamente, utilizábamos esos componentes, pero estaba buscando algo más gratuito digamos.

Un saludo y ya comentare cual es la solución!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Manuel
Val: 13
Ha aumentado su posición en 8 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Abrir excel en un formulario - ¿¿??

Publicado por Manuel (4 intervenciones) el 20/10/2017 10:35:43
A sido un placer y ya creo que se lo que quieres, y es esto y se pude hacer:

https://support.microsoft.com/es-es/help/304643/how-to-use-the-webbrowser-control-in-visual-basic-to-open-an-office-do

Esa es la mejor opción si lo que quieres es visualizar directamente (sin controles de terceros) un documento de Office e incluso tener cierto control sobre él. Eso sí, te advierto que esto tiene limitaciones como que tiene que estar instalado Office en el computador donde se vaya a ejecutar la aplicación, hay que tener cuidado con las versiones de Office, etc.

También te dejo un enlace a un tutorial antiguo (para VS.NET 2005) para lo mismo, aunque no explican todo y es muy limitado, para lo más básico te sirve:
http://www.eslomas.com/2006/03/construye-aplicaciones-windows-componente-activex-webbrowser/

Espero que esto sea lo que buscas exactamente. Buen día
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar