Generar Excel desde asp.net
Publicado por Marta (2 intervenciones) el 21/10/2008 17:52:40
Hola,
Tengo el siguiente código de prueba para generar un Excel:
Dim oXL As New Excel.Application
'Un Libro de Excel
Dim oWB As Excel.Workbook
'Declaramos tantas hojas como necesitemos
Dim oSheet As Excel.Worksheet
'Una vez declarados los tres objetos metemos la hoja dentro del libro,
'y el libro dentro de la aplicación Excel (como si trabajásemos con el Excel de verdad...)
'Inicializar Excel y obtener un objeto de Aplicacion
oXL = CreateObject("Excel.Application")
'oXL.Visible = True
' Obtener nuevo libro (workbook)
oWB = oXL.Workbooks.Add()
' Activar la hoja del libro
' oSheet = oWB.ActiveSheet
' Hoja 1
oSheet = oWB.Worksheets(1)
oSheet.Cells(1, 1).Value = "Estoy escribiendo en la primera celda "
oSheet.Cells(1, 2).Value = "Estoy escribiendo en la segunda celda "
Si lo ejecuto en local, funciona correctamente, se abre un nuevo documento de Excel, con las 2 celdas que he escrito, pero si lo ejecuto desde una aplicación web ocurre lo siguiente:
Error al recuperar un generador de clases COM para el componente con CLSID {00024500-0000-0000-C000-000000000046} debido al siguiente error: 80070005.
He probado a poner en el web.config la siguiente linea:
<identity impersonate="true" userName="" password=""/>
Al poner esto, mi aplicación retarda mucho, y deja abierto en el administrador de tareas el proceso Excel.exe, no hay forma de cerrarlo, y tampoco me abre el documento Excel con las 2 celdas escritas.
Alguien sabe que solución se le puede dar?
Muchas gracias
Tengo el siguiente código de prueba para generar un Excel:
Dim oXL As New Excel.Application
'Un Libro de Excel
Dim oWB As Excel.Workbook
'Declaramos tantas hojas como necesitemos
Dim oSheet As Excel.Worksheet
'Una vez declarados los tres objetos metemos la hoja dentro del libro,
'y el libro dentro de la aplicación Excel (como si trabajásemos con el Excel de verdad...)
'Inicializar Excel y obtener un objeto de Aplicacion
oXL = CreateObject("Excel.Application")
'oXL.Visible = True
' Obtener nuevo libro (workbook)
oWB = oXL.Workbooks.Add()
' Activar la hoja del libro
' oSheet = oWB.ActiveSheet
' Hoja 1
oSheet = oWB.Worksheets(1)
oSheet.Cells(1, 1).Value = "Estoy escribiendo en la primera celda "
oSheet.Cells(1, 2).Value = "Estoy escribiendo en la segunda celda "
Si lo ejecuto en local, funciona correctamente, se abre un nuevo documento de Excel, con las 2 celdas que he escrito, pero si lo ejecuto desde una aplicación web ocurre lo siguiente:
Error al recuperar un generador de clases COM para el componente con CLSID {00024500-0000-0000-C000-000000000046} debido al siguiente error: 80070005.
He probado a poner en el web.config la siguiente linea:
<identity impersonate="true" userName="" password=""/>
Al poner esto, mi aplicación retarda mucho, y deja abierto en el administrador de tareas el proceso Excel.exe, no hay forma de cerrarlo, y tampoco me abre el documento Excel con las 2 celdas escritas.
Alguien sabe que solución se le puede dar?
Muchas gracias
Valora esta pregunta


0