CoreComponentExporter 2025.7.2
See the version list below for details.
dotnet add package CoreComponentExporter --version 2025.7.2
NuGet\Install-Package CoreComponentExporter -Version 2025.7.2
<PackageReference Include="CoreComponentExporter" Version="2025.7.2" />
<PackageVersion Include="CoreComponentExporter" Version="2025.7.2" />
<PackageReference Include="CoreComponentExporter" />
paket add CoreComponentExporter --version 2025.7.2
#r "nuget: CoreComponentExporter, 2025.7.2"
#:package CoreComponentExporter@2025.7.2
#addin nuget:?package=CoreComponentExporter&version=2025.7.2
#tool nuget:?package=CoreComponentExporter&version=2025.7.2
DotNet.ExporterToolkit
Una biblioteca poderosa y flexible para exportar datos a diferentes formatos de archivo, con soporte para tipos genéricos y manejo robusto de errores.
Arquitectura del Proyecto
El proyecto está compuesto por dos bibliotecas principales que trabajan juntas:
CoreExcelPackage
- Manejo específico de archivos Excel (.xls y .xlsx)
- Lectura de datos desde hojas de Excel
- Conexión a través de string de conexión o stream
- Conversión de datos a tipos genéricos
DotNet.ExporterToolkit
- Exportación a múltiples formatos (CSV, Excel, JSON, XML)
- Soporte para tipos genéricos
- Manejo de propiedades de cualquier tipo
- Formateo y escapado de datos
- Logging integrado
- Manejo robusto de errores
Instalación
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
Características Principales
Exportación a múltiples formatos:
- CSV (Comma-Separated Values)
- Excel (Tabulados)
- JSON (JavaScript Object Notation)
- XML (eXtensible Markup Language)
Características avanzadas:
- Soporte para tipos genéricos
- Manejo automático de propiedades de cualquier tipo
- Formateo especial de fechas y strings
- Escapado de caracteres especiales
- Logging integrado
- Manejo robusto de excepciones
- Exportación asíncrona
- Soporte para archivos temporales
- Validación de datos
Instalación
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
Requisitos
- .NET Core 3.1 o superior
- Visual Studio 2019 o superior
Uso Básico
Exportación a CSV
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");
Exportación a Excel
data.ExportToExcel("archivo.txt", includeHeaders: true);
Exportación a JSON
data.ExportToJson("archivo.json");
Exportación a XML
data.ExportToXml("archivo.xml");
Configuración Avanzada
Formateo Personalizado
// 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");
Manejo de Errores
try
{
data.ExportToCsv("archivo.csv");
}
catch (ExportException ex)
{
// Manejo de errores específicos
ExtensionsLogger.LogError(ex, "Error durante la exportación");
}
Mejores Prácticas
Seguridad de Datos
- Validar datos antes de exportar
- Escapar caracteres especiales
- Manejar nulls correctamente
- Usar formateo consistente
Rendimiento
- Usar exportación asíncrona para grandes volúmenes
- Implementar buffering cuando sea necesario
- Manejar memoria eficientemente
- Usar paginación para conjuntos de datos grandes
Logging
- Registrar inicio y fin de exportación
- Registrar errores específicos
- Registrar estadísticas de exportación
- Implementar logging configurable
Manejo de Archivos
- Validar permisos de escritura
- Manejar archivos temporales
- Limpiar recursos correctamente
- Usar rutas seguras
Ejemplos Avanzados
Exportación Asíncrona
await data.ExportToCsvAsync("archivo.csv");
Exportación con Filtrado
var filteredData = data.Where(x => x.IsActive)
.ExportToCsv("archivo_filtrado.csv");
Exportación con Transformación
var transformedData = data.Select(x => new {
x.Id,
x.Name,
FormattedDate = x.CreatedDate.ToString("dd/MM/yyyy")
});
transformedData.ExportToCsv("archivo_transformado.csv");
Soporte y Contribución
Para reportar errores o solicitar características, por favor abre un issue en el repositorio de GitHub.
Licencia
Este proyecto está bajo licencia MIT. Consulta el archivo LICENSE para más detalles.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
2025.7.13 | 138 | 7/14/2025 |
2025.7.2 | 116 | 7/4/2025 |
2025.5.23 | 109 | 5/23/2025 |
2025.5.1 | 154 | 5/1/2025 |
2025.3.22 | 172 | 3/22/2025 |
2025.3.8 | 136 | 3/9/2025 |
2025.2.1 | 151 | 2/1/2025 |
2025.1.12 | 100 | 1/12/2025 |
2025.1.11 | 87 | 1/12/2025 |
2024.12.19 | 116 | 12/19/2024 |
2024.12.18 | 105 | 12/19/2024 |
2024.12.8 | 124 | 12/9/2024 |
2024.11.29 | 110 | 11/29/2024 |
2024.11.28 | 110 | 11/27/2024 |
2024.11.27 | 108 | 11/27/2024 |
2024.11.12 | 116 | 11/12/2024 |
2024.10.6 | 115 | 10/4/2024 |
2024.9.3 | 132 | 9/3/2024 |
2024.8.31 | 133 | 8/31/2024 |
2024.8.30 | 136 | 8/30/2024 |