¿alguien sabe cómo o alguna biblioteca usar para esto?exportar IEnumerable <T> a Excel
Respuesta
Echa un vistazo aquí para la parte de la biblioteca:
El código siguiente es el código que uso para convertir un IEnumerable<T>
en una DataTable que contiene columnas nombradas para cada propiedad, junto con los valores de cada elemento en IEnumerable como filas. Es un pequeño salto de este a guardarlo como un archivo CSV
public class IEnumerableToDataTable
{
public static DataTable CreateDataTableForPropertiesOfType<T>()
{
DataTable dt = new DataTable();
PropertyInfo[] piT = typeof(T).GetProperties();
foreach (PropertyInfo pi in piT)
{
Type propertyType = null;
if (pi.PropertyType.IsGenericType)
{
propertyType = pi.PropertyType.GetGenericArguments()[0];
}
else
{
propertyType = pi.PropertyType;
}
DataColumn dc = new DataColumn(pi.Name, propertyType);
if (pi.CanRead)
{
dt.Columns.Add(dc);
}
}
return dt;
}
public static DataTable ToDataTable<T>(IEnumerable<T> items)
{
var table = CreateDataTableForPropertiesOfType<T>();
PropertyInfo[] piT = typeof(T).GetProperties();
foreach (var item in items)
{
var dr = table.NewRow();
for (int property = 0; property < table.Columns.Count; property++)
{
if (piT[property].CanRead)
{
dr[property] = piT[property].GetValue(item, null);
}
}
table.Rows.Add(dr);
}
return table;
}
}
Por lo tanto, se podría escribir lo siguiente para convertir sus datos a una tabla de datos:
IEnumerable<Thing> values = GetMyIEnumerableValues();
var tableOfData = IEnumerableToDataTable.ToDataTable(values);
Una vez que está ahí, es bastante trivial para escribirlo en un archivo CSV, o en cualquier otro formato de su elección, ya que se ha realizado todo el trabajo de reflexión "complicado" para extraer los datos del IEnumerable<T>
.
que han resuelto un problema similar como lo pediste. Como que tiene un IEnumerable
IEnumerable<TaskSheetHead> taskSheetHead = new TaskSheetHeadService().GetEmployeeTimesheet(entity);
Así que si usted quiere hacer un Excel de esta simplemente crear un libro
var workbook = new HSSFWorkbook();
var sheet = workbook.CreateSheet();
Y iterar con un bucle y luego añadirlo a la hoja de trabajo
foreach (TaskSheetHead taskSheethead in taskSheetHead)
{
//decimal totalTask = decimal.Zero;
//double totalTime = 0;
foreach (TaskSheet taskSheet in taskSheethead.TaskSheets)
{
var row2 = sheet.CreateRow(rowNumber++);
row2.CreateCell(0).SetCellValue(taskSheethead.Date.ToString("MMMM dd, yyyy"));
row2.CreateCell(1).SetCellValue(taskSheet.Task.Project.ProjectName + ":" + taskSheet.Task.Title + "-" + taskSheet.Comment);
row2.CreateCell(2).SetCellValue(taskSheet.ExpendedHour);
row2.CreateCell(3).SetCellValue(taskSheet.IsBilledToClient);
//totalTask += 1;
//totalTime += taskSheet.ExpendedHour;
}
var row3 = sheet.CreateRow(rowNumber++);
row3.CreateCell(0).SetCellValue("");
row3.CreateCell(1).SetCellValue("");
row3.CreateCell(2).SetCellValue("");
row3.CreateCell(3).SetCellValue("");
}
Aquí tengo otra lista secundaria, por lo tanto, he iterado usando un ciclo interno. Haz lo que quieras
- 1. datagridview exportar a excel
- 2. Exportar a Excel C#
- 3. Exportar SQL a Excel
- 4. Exportar de PHP a Excel
- 5. php + jqgrid + exportar a excel
- 6. ASP.Net Exportar datos a Excel
- 7. Exportar tabla HTML a Excel
- 8. IEnumerable <IEnumerable <T>> IEnumerable a <T> usando LINQ
- 9. Cómo convertir un IEnumerable <IEnumerable <T>> a un IEnumerable <T>
- 10. jQuery DataTables: exportar columnas individuales a Excel
- 11. Exportar datos de consulta SQL a Excel
- 12. Silverlight DataGrid: exportar a excel o csv
- 13. Exportar informes de Jenkins a Excel
- 14. exportar a Excel en jquery o jqGrid
- 15. Exportar a Excel desde un repetidor?
- 16. Exportar a Excel en Asp.net MVC
- 17. C# (WinForms-App) exportar DataSet a Excel
- 18. Exportar registros de Datagridview a Excel
- 19. Exportar tabla HTML a Excel utilizando ASP.NET
- 20. La agrupación de artículos idénticos consecutivos: IEnumerable <T> a IEnumerable <IEnumerable <T>>
- 21. Obtener un IEnumerable <T> de un IEnumerable <IEnumerable <T>>
- 22. Convertir DataTable a IEnumerable <T>
- 23. IEnumerable <string> a cadena
- 24. La conversión a IEnumerable <T>
- 25. Convertir IEnumerable <T> a string []
- 26. C# No se puede convertir de IEnumerable <Base> a IEnumerable <Derived>
- 27. Fundición de IEnumerable <Object> a IEnumerable <string>
- 28. IEnumerable <> to IList <>
- 29. Por qué IEnumerable <T> se define como IEnumerable <out T>, no IEnumerable <T>
- 30. Exportar tabla HTML a excel - usando jQuery o Java
¿lo necesita para exportar sobre la marcha? de lo contrario, considere guardar en formato csv – ULysses
¿Necesita exportar a un archivo de Excel o CSV sería aceptable? – Rob
Esto depende de la T :) – SWeko