Foros del Web » Programando para Internet » ASPX (.net) »

Informe Excel C#

Estas en el tema de Informe Excel C# en el foro de ASPX (.net) en Foros del Web. Hola compañer@s, estoy intentando realizar un informe con c# y con Excel, para ello estoy utilizando Visual Studio 2002, la dll Interop.Excel 12.0 (la proporciona ...
  #1 (permalink)  
Antiguo 30/10/2008, 11:11
 
Fecha de Ingreso: septiembre-2006
Mensajes: 94
Antigüedad: 17 años, 7 meses
Puntos: 1
Informe Excel C#

Hola compañer@s, estoy intentando realizar un informe con c# y con Excel, para ello estoy utilizando Visual Studio 2002, la dll Interop.Excel 12.0 (la proporciona Office 2007). Cuando intento leer de la hoja Excel no tengo ningún problema (el ejemplo que he seguido a sido, el documento del Guille llamado Excel, leer la celda A1 desde ASP.NET). Pero ahora al intentar escribir el Excel, sigo un ejemplo publicado en Microsoft(http://support.microsoft.com/kb/302096), con el siguiente código

private void btn
_Generar_Click(object sender, System.EventArgs e)
{
Excel.ApplicationClass objApp;
Excel._Workbook objBook;
Excel.Workbooks objBooks;
Excel.Sheets objSheets;
Excel._Worksheet objSheet;
Excel.Range range;

try
{
objApp = new Excel.ApplicationClass();
objBooks = objApp.Workbooks;
objBook = objBooks.Add(System.Reflection.Missing.Value);
objSheets = objBook.Worksheets;
objSheet = (Excel._Worksheet)objSheets.get_Item(1);

range = objSheet.get_Range("A1",Missing.Value);
range.get_Resize(5,5);

double[,] saRet = new double[5,5];

for (long iRow = 0; iRow < 5; iRow++)
{
for (long iCol = 0; iCol < 5; iCol++)
{
saRet[iRow,iCol] = 1;
}
}

range.set_Value(Missing.Value,saRet);

objApp.Visible = true;
objApp.UserControl = true;

}
catch (Exception err)
{
Response.Write("ERROR " + err.Message + "<br>" + "LINEA " +
err.StackTrace);
}

}

El resultado de la ejecución es el siguiente:
ERROR No se puede abrir o guardar más documentos debido a que el espacio en disco o la memoria son insuficientes. • Para disponer de más memoria cierre los libros o programas que no necesite. • Para liberar espacio en el disco, elimine los archivos que no necesita del disco en el que desea guardar los documentos.
LINEA at Microsoft.Office.Interop.Excel.Workbooks.Add(Objec t Template) at InformeVariables.btn_Generar_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\recordNet\gestion\RRHH\InformeV ariables.aspx.cs:line 91

Probando veo que siempre el error lo da en la línea que contiene Workbooks.Add(Object Template)
pero no se por qué motivo. Si en lugar de poner Workbooks.Add(Missing.Value) pongo WorkBooks.Add(null) el error resultante es:
ERROR Exception from HRESULT: 0x800A03EC.
LINEA at Microsoft.Office.Interop.Excel.Workbooks.Add(Objec t Template) at InformeVariables.btn_Generar_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\recordNet\gestion\RRHH\InformeV ariables.aspx.cs:line 91.

Gracias de antemano. Saludos a tod@s!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:00.