Para este ejemplo creamos un DataTable:
private DataTable TablaEnvioSms() { DataTable dtSms = new DataTable(); dtSms.Columns.Add("Fila", typeof(string)); dtSms.Columns.Add("Nombres", typeof(string)); dtSms.Columns.Add("Apellidos", typeof(string)); dtSms.Columns.Add("Direccion", typeof(string)); dtSms.Columns.Add("Telefono", typeof(string)); return dtSms; }
Este es el evento Click del boton (btnExportar) en la pagina aspx
protected void btnExportar_Click(object sender, EventArgs e) { DataTable dtSms = new DataTable(); //Asignamos estructura del DataTable dtSms = TablaEnvioSms(); DataRow newRow; //primera fila newRow = dtSms.NewRow(); newRow["Fila"] = "1"; newRow["Nombres"] = "Pedro Luis"; newRow["Apellidos"] = "Ramirez Perez"; newRow["Direccion"] = "Calle 1 No. 2 2"; newRow["Telefono"] = "5555"; dtSms.Rows.Add(newRow); //segunda fila newRow = dtSms.NewRow(); newRow["Fila"] = "2"; newRow["Nombres"] = "Maria tereza"; newRow["Apellidos"] = "Ramirez Perez"; newRow["Direccion"] = "Calle 1 No. 2 2"; newRow["Telefono"] = "44444"; dtSms.Rows.Add(newRow); //Realizamos el Llamado al metodo que exporta la estructura del DataTable. //Ademas recibe el nombre del archivo CSV y la ruta donde se almacenara. DataTableCSVFile(dtSms, "ExportarDatos.csv", "c://"); }
public void DataTableCSVFile(DataTable dt,string sfilename, string strFilePath) { StreamWriter sw = new StreamWriter(strFilePath + sfilename, false); int iColCount = dt.Columns.Count; // Escribiendo las Columnas del DataTable. for (int i = 0; i < iColCount; i++) { sw.Write(dt.Columns[i]); if (i < iColCount - 1) { sw.Write(","); } } sw.Write(sw.NewLine); // Escribiendo todas las Filas del DataTable. foreach (DataRow dr in dt.Rows) { for (int i = 0; i < iColCount; i++) { if (!Convert.IsDBNull(dr[i])) { sw.Write(dr[i].ToString()); } if (i < iColCount - 1) { sw.Write(","); } } sw.Write(sw.NewLine); } sw.Close(); Response.Clear(); Response.ContentType = "application/csv"; Response.AddHeader("Content-Disposition", "attachment; filename=" + sfilename); Response.WriteFile(strFilePath + sfilename); Response.Flush(); Response.End(); }
Exportar un Dataset a Excel desde c# es una funcionalidad muy interesante, los invito a consultarla.
Si tienen alguna duda o ampliar la información me cuentan, hasta pronto.
"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""
Nice post, things explained in details. Thank You.
ResponderEliminar