Exportar a Excel

25/07/2005 - 15:15 por Mauricio Ossa | Informe spam
Buenos dias

intento poner un valor en la celda D4 de Excel y me saca error, pero el
mismo codigo en VB.NET lo hace bien, alguien podria decirme que me falta o
como se hace.

gracias.

private void ExportarDatosAExcel(string NombreDeArchivo)
{
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xllibro = xlApp.Workbooks.Add (null);
Excel.Worksheet xlhoja = (Excel.Worksheet)xllibro.Sheets[1];


xlhoja.Range["D4"].Value2 = "1";

xlApp.Quit ();
xllibro.Close(true, NombreDeArchivo, null);
xlhoja = null;
xllibro = null;
xlApp = null;
}
 

Leer las respuestas

#1 Braulio Diez
25/07/2005 - 16:18 | Informe spam
Hola que hay,

Prueba con el siguiente código (este debería de funcionar), verás que ha
diferencias en cuanto a referenciarse a los rangos y coger y poner valores:

Excel.Application objApp;
Excel._Workbook objBook;
Excel.Workbooks objBooks;
Excel.Sheets objSheets;
Excel._Worksheet objSheet;
Excel.Range range;

try
{
// Instantiate Excel and start a new workbook.
objApp = new Excel.Application();
objBooks = objApp.Workbooks;
objBook = objBooks.Add( Missing.Value );
objSheets = objBook.Worksheets;
objSheet = (Excel._Worksheet)objSheets.get_Item(1);

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

range.set_Value(Missing.Value, "Hello, World!" );

//Return control of Excel to the user.
objApp.Visible = true;
objApp.UserControl = true;
}
catch( Exception theException )
{
String errorMessage;
errorMessage = "Error: ";
errorMessage = String.Concat( errorMessage, theException.Message );
errorMessage = String.Concat( errorMessage, " Line: " );
errorMessage = String.Concat( errorMessage, theException.Source );

MessageBox.Show( errorMessage, "Error" );
}



Si esto no te funciona, aquí te van un par de pistas y preguntas:

¿ En que línea te da el error? prueba a debuggear y dime donde falla, y
cual es el mensaje de error que obtienes.

Un problema conocido de office automation con .net es que le tienes que
especificar la "cultura" en la que vas a trabajar, si no te da un error y no
te deja seguir (lo extraño es que en teoría esto aplica también a Vb .net),
te paso el link al error:

http://support.microsoft.com/kb/320369





/// --
/// Braulio Díez
/// Desarrollador C#
/// Málaga - España
// --


"Mauricio Ossa" escribió:

Buenos dias

intento poner un valor en la celda D4 de Excel y me saca error, pero el
mismo codigo en VB.NET lo hace bien, alguien podria decirme que me falta o
como se hace.

gracias.

private void ExportarDatosAExcel(string NombreDeArchivo)
{
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xllibro = xlApp.Workbooks.Add (null);
Excel.Worksheet xlhoja = (Excel.Worksheet)xllibro.Sheets[1];


xlhoja.Range["D4"].Value2 = "1";

xlApp.Quit ();
xllibro.Close(true, NombreDeArchivo, null);
xlhoja = null;
xllibro = null;
xlApp = null;
}



Preguntas similares