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;
}

Preguntas similare

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;
}



Respuesta Responder a este mensaje
#2 Mauricio Ossa
25/07/2005 - 17:01 | Informe spam
Hola Braulio.

te pregunto que es Missing.Value, porque me dice que no es una palabra
reconocida. no se si me falta alguna libreria.



"Braulio Diez" escribió en el mensaje
news:
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;
}



Respuesta Responder a este mensaje
#3 Mauricio Ossa
25/07/2005 - 17:25 | Informe spam
Listo Braulio. Ya me funciono muchas gracias.


"Braulio Diez" escribió en el mensaje
news:
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;
}



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida