CoreComponentExporter es una biblioteca de código abierto que proporciona métodos optimizados y fáciles de usar para exportar datos de DataTable e IEnumerable a archivos Excel (.xlsx, .xlsm, .xlsb, .xltx, .xltm). Utiliza NPOI para la generación eficiente de archivos Excel y SixLabors.ImageSharp para el manejo de imágenes. Compatible con múltiples versiones de .NET (6.0, 7.0, 8.0 y 9.0), lo que la convierte en una herramienta ideal para desarrolladores que buscan una solución de exportación de datos flexible y escalable.
$ dotnet add package CoreComponentExporterUna biblioteca poderosa y flexible para exportar datos a diferentes formatos de archivo, con soporte para tipos genéricos y manejo robusto de errores.
El proyecto está compuesto por dos bibliotecas principales que trabajan juntas:
CoreExcelPackage
DotNet.ExporterToolkit
Para usar ambas bibliotecas, instala los paquetes NuGet:
dotnet add package DotNet.ExcelToolkit
dotnet add package DotNet.ExporterToolkit
También están disponibles en el Visual Studio Package Manager:
Install-Package DotNet.ExcelToolkit
Install-Package DotNet.ExporterToolkit
Exportación a múltiples formatos:
Características avanzadas:
El paquete se puede instalar usando NuGet:
dotnet add package DotNet.ExporterToolkit
También está disponible en el Visual Studio Package Manager:
Install-Package DotNet.ExporterToolkit
var data = new List<MyClass> {
new MyClass { Id = 1, Name = "John", CreatedDate = DateTime.Now },
new MyClass { Id = 2, Name = "Jane", CreatedDate = DateTime.Now }
};
data.ExportToCsv("archivo.csv");
data.ExportToExcel("archivo.txt", includeHeaders: true);
data.ExportToJson("archivo.json");
data.ExportToXml("archivo.xml");
// Formateo de fechas personalizado
var data = new List<MyClass> {
new MyClass { Id = 1, Name = "John", CreatedDate = DateTime.Now }
};
data.ExportToCsv("archivo.csv", includeHeaders: true)
.WithDateFormat("dd/MM/yyyy HH:mm:ss")
.WithNumberFormat("N2");
try
{
data.ExportToCsv("archivo.csv");
}
catch (ExportException ex)
{
// Manejo de errores específicos
ExtensionsLogger.LogError(ex, "Error durante la exportación");
}
Seguridad de Datos
Rendimiento
Logging
Manejo de Archivos
await data.ExportToCsvAsync("archivo.csv");
var filteredData = data.Where(x => x.IsActive)
.ExportToCsv("archivo_filtrado.csv");
var transformedData = data.Select(x => new {
x.Id,
x.Name,
FormattedDate = x.CreatedDate.ToString("dd/MM/yyyy")
});
transformedData.ExportToCsv("archivo_transformado.csv");
Para reportar errores o solicitar características, por favor abre un issue en el repositorio de GitHub.
Este proyecto está bajo licencia MIT. Consulta el archivo LICENSE para más detalles.