C sharp - Informe Excel

   
Vista:

Informe Excel

Publicado por Vicent (2 intervenciones) el 30/10/2008 18:18:13
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:inetpubwwwroot ecordNetgestionRRHHInformeV 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:inetpubwwwroot ecordNetgestionRRHHInformeV ariables.aspx.cs:line 91.

Gracias de antemano. Saludos a tod@s!
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