Blogger news

23:44
2
El siguiente ejemplo muestra como podemos exportar a excel los datos que contiene un DataSet, aprovechando que el DataSet puede exportar directamente a un XML y Microsoft Excel soporta el formato XML.

El codigo esta en una aplicacion Web, la idea es llenar un DataSet desde una Base de Datos, guardarlo en un XML y posteriormente abrirlo en el explorador con Excel.

Ahora el codigo:

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace DataSet_To_Excel
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection z_varocioConexion = new SqlConnection("Data Source=MyServer;Initial Catalog=MyDB;User Id=User;Password=Password;");
            SqlDataAdapter z_varocioAdaptador = new SqlDataAdapter("SELECT * FROM MyTable", z_varocioConexion);
            DataSet z_varodtsDataSet = new DataSet();

            z_varocioConexion.Open();
            z_varocioAdaptador.Fill(z_varodtsDataSet);

            z_varodtsDataSet.WriteXml("D:\\archivo.xls");
            Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();
            Response.ContentType = "application/octet-stream";
            Response.AddHeader("Content-Disposition", "attachment; filename=\"archivo.xls\"");
            Response.WriteFile("D:\\archivo.xls");
            Response.Flush();
            Response.Close();
        }
    }
}



Existen otras formas de poder exportar datos a Excel, posteriormente veremos otras opciones..... Ailas

2 comentarios:

  1. como hacer para que el usuario elija la ruta y el nombre del archivo y como agregarle un encabezado en la primera linea del archivo,

    ResponderEliminar
  2. excelente, este me funciono sin ningun problema

    ResponderEliminar