Foros del Web » Programación para mayores de 30 ;) » .NET »

Exportar DataSet a Excel

Estas en el tema de Exportar DataSet a Excel en el foro de .NET en Foros del Web. Holas. He estado buscando en el foro la forma de exportar un DataSet a Excel pero desde aplicaciones de Escritorio, la verdad no encontre nada, ...
  #1 (permalink)  
Antiguo 24/01/2007, 12:28
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Exportar DataSet a Excel

Holas.

He estado buscando en el foro la forma de exportar un DataSet a Excel pero desde aplicaciones de Escritorio, la verdad no encontre nada, asi que si alguien sabe donde hay info o conoce la forma de hacerlo, les agradeceria que me ayudaran con eso.

Gracias
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #2 (permalink)  
Antiguo 24/01/2007, 14:16
Avatar de .seb  
Fecha de Ingreso: marzo-2006
Ubicación: Uruguay
Mensajes: 493
Antigüedad: 18 años, 1 mes
Puntos: 1
Re: Exportar DataSet a Excel

Lo que hice cuando necesité hacer eso fué recorrer el DataSet he ir generando un CSV. al abrir el CSV con Excel este se encarga de todo (a no ser que euiras mostrar formulas).

Pero estoy seguro que debe de haber algo más fácil... tenlo como último recurso ;)
__________________
saludos
seba
http://sgomez.blogspot.com
  #3 (permalink)  
Antiguo 24/01/2007, 14:46
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Re: Exportar DataSet a Excel

Y tienes algun manual para creacion de ese tipo de archivos?

Gracias
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #4 (permalink)  
Antiguo 25/01/2007, 09:53
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Re: Exportar DataSet a Excel

Hola

te dejo los enlaces que utilicé como referencia para un trabajo similar. Espero que te sirva:

http://www.microsoft.com/spanish/msd...ces/art164.asp

http://msdn.microsoft.com/library/de...plications.asp

http://www.vbforums.com/showpost.php...38&postcount=3

saludos
  #5 (permalink)  
Antiguo 30/01/2007, 15:52
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Re: Exportar DataSet a Excel

Me estoy volviendo loco con esto de exportar a Excel, los ejemplos que e bajado funcionan y trato de hacerlo en C# VS2005 y no me da,

Uso la referencia a Microsoft Excel 11.0 Object Library

Pero al tratar de hacer algo como esto:

Cita:
Imports Excel
Dim excelApp As Excel.Application
Dim workBook As Excel.Workbook
En C# Yo haria algo como esto
Cita:
using Excel
Excel.Applicacion excelApp = new Excel.Applicacion();
Excel.Workbook workBook = new Excel.Workbook();
Pero no da, no da y no da.

¿Lo estoy haciendo mal?
¿Saben que puede estar pasando?

Gracias
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #6 (permalink)  
Antiguo 31/01/2007, 05:13
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Re: Exportar DataSet a Excel

Hola,

Te sale algún error? en caso afirmativo, cual?

saludos
  #7 (permalink)  
Antiguo 31/01/2007, 06:55
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Re: Exportar DataSet a Excel

Normalente, sin importar lo que trate de hacer o como lo haga me sale un mensaje como este:

Cita:
'Microsoft.Office.Interop.Excel' es 'espacio de nombres' pero se utiliza como 'tipo'
En fin, eso no me a dado y todos los ejemplos que e bajado hacen algo similar solo que a ellos les funciona , por ejemplo mira este code:

Cita:
Imports Excel
Dim excelApp As Excel.Application
Dim workBook As Excel.Workbook

Try
'instanciamos a excel.application
excelApp = New Excel.Application()

'Creamos una hoja en el libro predeterminado
workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorkshe et)
Catch
'se utiliza la version 10 de excel o XP
Throw New Exception("An incompatible version of Microsoft Excel is intalled on your system.")
End Try
Trato de hacer algo similar en C# y no compila, ese code es de un ejemplo echo en VB.NET 2002, el VS2005 lo abre, le hace la conversion y lo ejecuta sin problemas.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #8 (permalink)  
Antiguo 31/01/2007, 10:04
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Re: Exportar DataSet a Excel

Despues de un rato ya logre que compilara, pero me saca un error en la ejecucion, este es el error:

Cita:
Error al recuperar un generador de clases COM para el componente con CLSID {00020819-0000-0000-C000-000000000046} debido al siguiente error: 80040154.
Y esta es la linea que lo saca,

Cita:
Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
Excel.Workbook libro = new Microsoft.Office.Interop.Excel.Workbook();
La linea verde la pasa bien, la roja es la que falla

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #9 (permalink)  
Antiguo 04/02/2009, 15:39
 
Fecha de Ingreso: noviembre-2006
Mensajes: 6
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Re: Exportar DataSet a Excel

mi viejo realice algo como esto

Excel.Application ApExcel = new Excel.Application();
object opc = Type.Missing;
//el te pide que crees un objeto de tipo missing para que te funcione.
Excel.Workbook Libro = ApExcel.Workbooks.Add(opc);
ApExcel.Visible = true;
probalo y me contas
  #10 (permalink)  
Antiguo 05/02/2009, 06:43
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires,Argentina
Mensajes: 16
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Exportar DataSet a Excel

Aca les dejo unas rutinas que permiten exportar a excel
desde un dataset espero les sirva

Código:
 
PublicSub DataTableToExcel(ByVal pDataTable As DataTable)
Dim vFileName AsString = Path.GetTempFileName()
FileOpen(1, vFileName, OpenMode.Output)
Dim sb AsString = ""
Dim dc As DataColumn
ForEach dc In pDataTable.Columns
sb &= dc.Caption & Microsoft.VisualBasic.ControlChars.Tab
Next
PrintLine(1, sb)
Dim i AsInteger = 0
Dim dr As DataRow
ForEach dr In pDataTable.Rows
i = 0 : sb = ""
ForEach dc In pDataTable.Columns
IfNot IsDBNull(dr(i)) Then
sb &= CStr(dr(i)) & Microsoft.VisualBasic.ControlChars.Tab
Else
sb &= Microsoft.VisualBasic.ControlChars.Tab
EndIf
i += 1
Next
PrintLine(1, sb)
Next
FileClose(1)
TextToExcel(vFileName)
EndSub

PublicSub TextToExcel(ByVal pFileName AsString)
Dim vFormato As Excel.XlRangeAutoFormat
Dim Exc As Excel.Application = New Excel.Application
Exc.Workbooks.OpenText(pFileName, , , , Excel.XlTextQualifier.xlTextQualifierNone, , True)
Dim Wb As Excel.Workbook = Exc.ActiveWorkbook
Dim Ws As Excel.Worksheet = CType(Wb.ActiveSheet, Excel.Worksheet)
'Se le indica el formato al que queremos exportarlo
Dim valor AsInteger = 10
If valor > -1 Then
SelectCase valor
Case 10 : vFormato = Excel.XlRangeAutoFormat.xlRangeAutoFormatClassic1
EndSelect
Ws.Range(Ws.Cells(1, 1), Ws.Cells(Ws.UsedRange.Rows.Count, Ws.UsedRange.Columns.Count)).AutoFormat(vFormato)
pFileName = Path.GetTempFileName.Replace("tmp", "xls")
File.Delete(pFileName)
Exc.ActiveWorkbook.SaveAs(pFileName, Excel.XlTextQualifier.xlTextQualifierNone - 1)
EndIf
Exc.Quit()
Ws = Nothing
Wb = Nothing
Exc = Nothing
GC.Collect()
If valor > -1 Then
Dim p As System.Diagnostics.Process = New System.Diagnostics.Process
p.EnableRaisingEvents = False
System.Diagnostics.Process.Start(pFileName)
EndIf
EndSub
 
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 01:03.