Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void ExportarExcel(DataTable dt, string fileName)
- {
- Response.ClearContent();
- Response.ContentEncoding = System.Text.Encoding.Default;
- Response.AddHeader("content-disposition", "attachment; filename=" + fileName + ".csv");
- Response.ContentType = "text/csv";
- string tab = "";
- int indice = 0;
- foreach (DataColumn dc in dt.Columns)
- {
- if (indice > 0)
- {
- Response.Write(tab + dc.ColumnName);
- tab = ";";
- }
- indice++;
- }
- Response.Write("\n");
- int i;
- foreach (DataRow dr in dt.Rows)
- {
- tab = "";
- for (i = 0; i < dt.Columns.Count; i++)
- {
- if (i > 0)
- {
- Response.Write(tab + dr[i].ToString());
- tab = ";";
- }
- }
- Response.Write("\n");
- }
- Response.End();
- }
- public static DataTable ToDataTable<T>(List<T> data)
- {
- PropertyDescriptorCollection props =
- TypeDescriptor.GetProperties(typeof(T));
- DataTable table = new DataTable();
- for (int i = 0; i < props.Count; i++)
- {
- PropertyDescriptor prop = props[i];
- table.Columns.Add(prop.Name, prop.PropertyType);
- }
- object[] values = new object[props.Count];
- foreach (T item in data)
- {
- for (int i = 0; i < values.Length; i++)
- {
- values[i] = props[i].GetValue(item);
- }
- table.Rows.Add(values);
- }
- return table;
- }
- [HttpPost]
- [Authorize(Roles = "Admin")]
- [MultipleButton(Name = "action", Argument = "Exportar")]
- public void Exportar()
- {
- var dados = db.RF_DiasUteis.ToList();
- var dt = ToDataTable(dados);
- string fileName = "DiasUteis";
- ExportarExcel(dt, fileName);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement