border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 
  #1 (permalink)  
Antiguo 08-05-2008, 18:03:51
Un Nuevo Amigo
 
Registrado: nov
Posts: 21
AngelGod Valoración +2
Talking Como Exportar Gridview a Excel Usando WF con C#?

Holas Camaradas de vb-mundo.


alguien de ustedes les ha pasado tambien que tienen que exportar un gridview a Excel usando WindowsForm usando C# como lenguaje,

me podrian dar alguna idea de como lograr eso?

aqui les pongo un ejemplo pero para Web

StringWriter miStringWrite = null;
HtmlTextWriter miHtmlWrite = null;

try

{

if (this.GridView1.Rows.Count > 0 && Session["Datos"] != null)
{

Response.Clear();

Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
Response.ContentType = "application/vnd.xls";

Response.Charset = "UTF-8";
Response.ContentEncoding = Encoding.Default;

miStringWrite = new StringWriter();
miHtmlWrite = new HtmlTextWriter(miStringWrite);

this.GridView1.EnableViewState = false;
this.GridView1.AllowPaging = false;

this.GridView1.DataSource = (DataSet)Session["Datos"];
this.GridView1.DataBind();

this.GridView1.CssClass = "";this.GridView1.RenderControl(miHtmlWrite);
Response.Write(miStringWrite.ToString());

Response.End();

}

}

catch (Exception ex)
{

Response.Write(ex.Message);

}

finally

{

miStringWrite.Flush();

miHtmlWrite.Flush();

miStringWrite.Close();

miHtmlWrite.Close();

}

Muchas gracias.
Responder Con Cita
  #2 (permalink)  
Antiguo 09-05-2008, 20:35:21
Avatar de jcarballo
Buena Participación en el Foro
 
Registrado: abr
Posts: 82
jcarballo Valoración +2
Predeterminado Re: Como Exportar Gridview a Excel Usando WF con C#?

Aquí te envío un ejemplo en VB.net para exportar un dataset a Excel usando uno de varios métodos que existen, que es el que más rápido me ha resultado:

Private Sub Automation_UseArray(ByVal Path_FileName As String, ByVal dsExportar As DataSet)
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object

'Iniciar un nuevo libro en Excel.
oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.Add
Try
'Crear una matriz con n columnas y m filas.

For Each dtExportar As DataTable In dsExportar.Tables
If dtExportar.Rows.Count > 0 Then
Dim DataArray(dtExportar.Rows.Count - 1, dtExportar.Columns.Count - 1) As Object
For r As Integer = 0 To dtExportar.Rows.Count - 1
For c As Integer = 0 To dtExportar.Columns.Count - 1
DataArray(r, c) = dtExportar.Rows(r)(c)
Next
Next

'Agregar encabezados a la hoja de cálculo en la fila 1.
oSheet = oExcel.ActiveWorkbook.Worksheets.Add()
oSheet.Name = dtExportar.TableName

'oSheet = oBook.Worksheets(1)

For j As Integer = 0 To dtExportar.Columns.Count - 1
oSheet.Range(GetColumn(j + 1) & "1").Value = dtExportar.Columns(j).ColumnName
Next

Dim strRangeColumnasName As String = GetColumn(1) & "1:" & GetColumn(dtExportar.Columns.Count) & "1"
Dim strRangeAllName As String = GetColumn(1) & "1:" & GetColumn(dtExportar.Columns.Count) & (dtExportar.Rows.Count + 1).ToString


oSheet.range(strRangeColumnasName).Font.Bold = True
oSheet.range(strRangeColumnasName).Interior.ColorI ndex = 15
oSheet.range(strRangeColumnasName).Interior.Patter n = 1 'xlSolid

'Transferir la matriz a la hoja de cálculo comenzando en la celda A2.
oSheet.Range("A2").Resize(dtExportar.Rows.Count, dtExportar.Columns.Count).Value = DataArray

'7 - xlEdgeLeft, 8 - xlEdgeTop, 9 - xlEdgeBottom, 10 - xlEdgeRight, 11 - xlInsideVertical, 12 - xlInsideHorizontal
For i As Integer = 7 To 12
With oSheet.Range(strRangeAllName).Borders(i)
.LineStyle = 1 'xlContinuous
.Weight = 2 'xlThin
.ColorIndex = -4105 'xlAutomatic
End With
Next
End If
Next
'Guardar el libro y cerrar Excel.
oBook.SaveAs(Path_FileName)
oSheet = Nothing
oBook = Nothing
oExcel.Quit()
oExcel = Nothing
GC.Collect()
Catch ex As Exception
End Try
End Sub
__________________
Saludos,

Juan Carlos Carballo Quevedo
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT. Ahora son las 23:02:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right