none
exportar a excel datos de diferentes tablas

    Question

  • tabla Prestamos                       Tabla usuario         Tabla Libro

    serialId                                   usuarioId              Libro ID

    UsuarioId                                Nombre                Titulo

    TituloID

    hola todos soy nuevo en asp.net y quisiera saber como hacer para exportar a Excel los datos del serialId, Nombre el usuario y titulo del libro que se le presto.

    la verdad no se como se haria y esto me esta dando vueltas en la cabeza

    Wednesday, October 17, 2012 8:17 PM

Answers

  • hola

    Exportar GridView a Excel

    Export GridView to Excel

    ASP.Net 2.0: Export GridView to Excel

    podrias suar un gridview como medio para exportar los datos a excel

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Thursday, October 18, 2012 1:46 AM
  • En realidad necesitas dos cosas, primero obtener los datos de la base de datos y luego guardarlos en un archivo excel.

    Aca te paso un ejemplo sencillo de como guardar los datos de un DataTable en un archivo excel, podes cambiarlo para que obtenga los datos de tu base y llenar el DataTable:

        private DataSet GetData()
        {
            ConnectionStringSettings pubs = ConfigurationManager.ConnectionStrings["pubsConnectionString"];
            DbConnection connection = new SqlConnection(pubs.ConnectionString);
    
            SqlCommand cmd = (SqlCommand)connection.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT pub_id, pub_name FROM Publishers";
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet pubsDataSet = new DataSet("Pubs");
            da.Fill(pubsDataSet, "publishers");
    
            return pubsDataSet;
        }
    
        private void GenerateExcelFile(DataTable dt)
        {
            string attachment = "attachment; filename=pubs.xls";
            Response.ClearContent();
            Response.AddHeader("content-disposition", attachment);
            Response.ContentType = "application/vnd.ms-excel";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1254");
            Response.Charset = "windows-1254";
    
            string tab = "";
            foreach (DataColumn dc in dt.Columns)
            {
                Response.Write(tab + dc.ColumnName);
                tab = "\t";
            }
            Response.Write("\n");
            int i;
            foreach (DataRow dr in dt.Rows)
            {
                tab = "";
                for (i = 0; i < dt.Columns.Count; i++)
                {
                    Response.Write(tab + dr[i].ToString());
                    tab = "\t";
                }
                Response.Write("\n");
            }
            Response.End();
        }
    
        protected void Button1_Click(object sender, EventArgs e)
        {
            DataSet ds = GetData();
            GenerateExcelFile(ds.Tables["publishers"]);
        }
    Saludos!

    Thursday, October 18, 2012 12:04 AM

All replies

  • En realidad necesitas dos cosas, primero obtener los datos de la base de datos y luego guardarlos en un archivo excel.

    Aca te paso un ejemplo sencillo de como guardar los datos de un DataTable en un archivo excel, podes cambiarlo para que obtenga los datos de tu base y llenar el DataTable:

        private DataSet GetData()
        {
            ConnectionStringSettings pubs = ConfigurationManager.ConnectionStrings["pubsConnectionString"];
            DbConnection connection = new SqlConnection(pubs.ConnectionString);
    
            SqlCommand cmd = (SqlCommand)connection.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT pub_id, pub_name FROM Publishers";
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet pubsDataSet = new DataSet("Pubs");
            da.Fill(pubsDataSet, "publishers");
    
            return pubsDataSet;
        }
    
        private void GenerateExcelFile(DataTable dt)
        {
            string attachment = "attachment; filename=pubs.xls";
            Response.ClearContent();
            Response.AddHeader("content-disposition", attachment);
            Response.ContentType = "application/vnd.ms-excel";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1254");
            Response.Charset = "windows-1254";
    
            string tab = "";
            foreach (DataColumn dc in dt.Columns)
            {
                Response.Write(tab + dc.ColumnName);
                tab = "\t";
            }
            Response.Write("\n");
            int i;
            foreach (DataRow dr in dt.Rows)
            {
                tab = "";
                for (i = 0; i < dt.Columns.Count; i++)
                {
                    Response.Write(tab + dr[i].ToString());
                    tab = "\t";
                }
                Response.Write("\n");
            }
            Response.End();
        }
    
        protected void Button1_Click(object sender, EventArgs e)
        {
            DataSet ds = GetData();
            GenerateExcelFile(ds.Tables["publishers"]);
        }
    Saludos!

    Thursday, October 18, 2012 12:04 AM
  • hola

    Exportar GridView a Excel

    Export GridView to Excel

    ASP.Net 2.0: Export GridView to Excel

    podrias suar un gridview como medio para exportar los datos a excel

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Thursday, October 18, 2012 1:46 AM
  • Aquí también propongo otra forma de crear un archivo excel. mira para ver si te sirve: Crear Archivo Excel
    Thursday, October 18, 2012 1:14 PM