Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2009, 09:51
CamaronJackson
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Como exportar a word sin tener instalado el offcie en el servidor

Es en Asp.net, la cosa esq tengo una plantilla de word en la aplicación. Esta plantilla va a ser llamada desde la aplicación y va a ser llenada con los datos de un formulario dado, en otras palabras: Tengo un formulario con datos, luego, al final hay un botón q dice "Imprimir en Word", entonces esos datos se cargan a un word que tiene un formato predefinido (pues es un contrato q tiene formatos definidos), ya pes, la cosa es que ya lo había hecho chevere mi aplicación, y en el localHost corre todo ok, la cuestion es cuando lo subí al servidor, al comienzo tuve problemas con los permisos, pero luego lo solucione;
Luego me cambiaron los papeles del juego y me dijeron q el office no podia estar instalado en el servidor, y mi solucion usaba Server.CreateObject("Word.Application"), que llama a un DCOM que se instala cuando instalas el office y ya pes se cae, mi pregunta es: Como puedo resolver este problema usando OPENxml o algun otro metodo q no amarre a tener q instalar el office en la servidor, o quizas alguna manera de instalar los DCOM manualmente, necesarios para que el Server.CreateObject("Word.Application") funke sin instalar el office…
Este es mi codigo:

Código:
 Protected Sub btnImprimir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnImprimir.Click
        Dim oWord As word.Application
        Dim wd As word.Document
        Dim oTable As word.Table

        'oWord = New word.ApplicationClass
        oWord = Server.CreateObject("Word.Application")
        oWord.Visible = False
        wd = oWord.Documents.Open(Server.MapPath("Formato_Poliza_Adminsion_Temporal.dot"))
        'wd = oWord.Documents.Add(Server.MapPath("Formato_Poliza_Adminsion_Temporal.dot"))
        Dim r As Integer, c As Integer
        'oTable = wd.Tables.Add(wd.Bookmarks.Item("\endofdoc").Range, 3, 5)
        oTable = wd.Tables.Add(wd.Bookmarks.Item("Mujer").Range, 3, 5)

        For r = 1 To 3
            For c = 1 To 5
                oTable.Cell(r, c).Range.Text = "r" & r & "c" & c
            Next
        Next
        oTable.Rows.Item(1).Range.Font.Bold = True
        oTable.Rows.Item(1).Range.Font.Italic = True
        oWord.Visible = True
        oWord.Activate()
    End Sub