none
Incluir documento excel en VB al publicar programa

    Pregunta

  • Buen día, en estos momentos acabo de terminar un programa en vb para mi trabajo, pero solamente tengo un problema que es el siguiente:

    En el programa se comunica e importa datos a un documento excel que es la parte final de mi programa, pero al momento de publicar el programa (hacerlo portable para instalarlo en otra computadora), no se incluye en documento excel dentro de las referencias del programa (que se encuentra en la carpeta de debug del programa). Entonces esta es la pregunta: existe alguna opción de visual studio 2015 para incluir el documento excel dentro de los archivos nativos de mi programa?. Espero haber explicado bien.

    Gracias a todas sus respuestas, saludos.

    viernes, 2 de diciembre de 2016 19:15

Respuestas

  • Haz clic sobre el archivo Excel en el Explorador de Soluciones en Visual Studio. En la ventana de Propiedades, verás que hay una que se llama "Comile Action". Cámbiale el valor a "Content". Esto hace que se copie a la carpeta de salida.

    Si en lugar de querer el archivo en la carpeta del ejecutable lo quieres incluir DENTRO del compilado, añade un archivo .resx al proyecto. En el editor del .resx, selecciona la opción "Ficheros" y añade el archivo deseado. Al compilar, los bytes de ese archivo quedan compilados dentro del .exe. Desde programa puedes acceder al array de bytes usando EspacioDeNombres.NombreDelArchivoDeRecursos.NombreDelRecurso. Después, ese array de bytes puedes salvarlo a disco usando System.IO.File.WriteAllBytes. Es necesario salvarlo a disco si lo quieres abrir con Excel. Pero si lo vas a modificar (por ejemplo) con las librerías de OpenXml, puedes abrir directamente un Stream contra el array de Bytes y no hace falta pasar por el disco.

    viernes, 2 de diciembre de 2016 22:01
  • Como lo importo para que se agregue al explorador de soluciones?
    Ah, eso es muy sencillo: En el Explorador de Soluciones haces clic-derecho y seleccionas "Agregar Archivo Existente". También puedes arrastrar y soltar desde el Explorador de ficheros de Windows al Explorador de Soluciones de Visual Studio.
    domingo, 4 de diciembre de 2016 10:21

Todas las respuestas

  • Haz clic sobre el archivo Excel en el Explorador de Soluciones en Visual Studio. En la ventana de Propiedades, verás que hay una que se llama "Comile Action". Cámbiale el valor a "Content". Esto hace que se copie a la carpeta de salida.

    Si en lugar de querer el archivo en la carpeta del ejecutable lo quieres incluir DENTRO del compilado, añade un archivo .resx al proyecto. En el editor del .resx, selecciona la opción "Ficheros" y añade el archivo deseado. Al compilar, los bytes de ese archivo quedan compilados dentro del .exe. Desde programa puedes acceder al array de bytes usando EspacioDeNombres.NombreDelArchivoDeRecursos.NombreDelRecurso. Después, ese array de bytes puedes salvarlo a disco usando System.IO.File.WriteAllBytes. Es necesario salvarlo a disco si lo quieres abrir con Excel. Pero si lo vas a modificar (por ejemplo) con las librerías de OpenXml, puedes abrir directamente un Stream contra el array de Bytes y no hace falta pasar por el disco.

    viernes, 2 de diciembre de 2016 22:01
  • Haz clic sobre el archivo Excel en el Explorador de Soluciones en Visual Studio. En la ventana de Propiedades, verás que hay una que se llama "Comile Action". Cámbiale el valor a "Content". Esto hace que se copie a la carpeta de salida.

    Si en lugar de querer el archivo en la carpeta del ejecutable lo quieres incluir DENTRO del compilado, añade un archivo .resx al proyecto. En el editor del .resx, selecciona la opción "Ficheros" y añade el archivo deseado. Al compilar, los bytes de ese archivo quedan compilados dentro del .exe. Desde programa puedes acceder al array de bytes usando EspacioDeNombres.NombreDelArchivoDeRecursos.NombreDelRecurso. Después, ese array de bytes puedes salvarlo a disco usando System.IO.File.WriteAllBytes. Es necesario salvarlo a disco si lo quieres abrir con Excel. Pero si lo vas a modificar (por ejemplo) con las librerías de OpenXml, puedes abrir directamente un Stream contra el array de Bytes y no hace falta pasar por el disco.

    Gracias por la respuesta, pero no tengo agregado el archivo excel en el explorador de soluciones, solo copie y pegue mi archivo excel en la carpeta "Debug" del programa. Como lo importo para que se agregue al explorador de soluciones?, saludos y gracias.
    sábado, 3 de diciembre de 2016 21:40
  • Como lo importo para que se agregue al explorador de soluciones?
    Ah, eso es muy sencillo: En el Explorador de Soluciones haces clic-derecho y seleccionas "Agregar Archivo Existente". También puedes arrastrar y soltar desde el Explorador de ficheros de Windows al Explorador de Soluciones de Visual Studio.
    domingo, 4 de diciembre de 2016 10:21
  • Como lo importo para que se agregue al explorador de soluciones?

    Ah, eso es muy sencillo: En el Explorador de Soluciones haces clic-derecho y seleccionas "Agregar Archivo Existente". También puedes arrastrar y soltar desde el Explorador de ficheros de Windows al Explorador de Soluciones de Visual Studio.

    Muuuchas gracias Alberto por tu ayuda, todo me funcionó perfecto. Gracias de nuevo!!


    martes, 6 de diciembre de 2016 0:19