FileHelpers admite una característica llamada "RunTime Records" que le permite leer un archivo CSV en una DataTable cuando no conoce el diseño hasta el tiempo de ejecución.Cree dinámicamente un archivo CSV con FileHelpers
¿Es posible utilizar FileHelpers para crear un archivo CSV en tiempo de ejecución de la misma manera?
En función de la entrada de algunos usuarios, el archivo CSV que se debe crear tendrá diferentes campos que solo pueden conocerse en tiempo de ejecución. Puedo crear el Tipo necesario para el motor FileHelper como se describe en su sección de lectura, pero no puedo determinar en qué formato deben estar escritos mis datos.
var engine = new FileHelpers.FileHelperEngine(GenerateCsvType());
engine.WriteStream(context.Response.Output, dontKnow);
EDITAR
Alternativamente, puede alguien sugerir una buena biblioteca CSV que puede crear un archivo CSV sin conocer sus campos hasta el tiempo de ejecución? Por ejemplo, cree un archivo CSV desde una DataTable.
Fantástico :) Esta es una gran solución, pero ¿hay alguna manera de escribir en una secuencia en su lugar? Eso no es un factor decisivo, pero salvaría algunos pasos. De cualquier manera, ¡gracias! –
Por el momento, pero no me envíe un correo electrónico, estamos trabajando activamente en la próxima versión de la biblioteca y sería muy fácil agregar una versión sobrecargada del método para escribir transmisiones :) – MarcosMeli
@Marcos: es la próxima versión que va a admitir las listas genéricas ('List') como tipo de retorno (en lugar de solo matrices) de FileEngine? :-) –