FileHelpers supporta una funzionalità denominata "Record RunTime" che consente di leggere un file CSV in un DataTable quando non si conosce il layout fino al runtime.Creare dinamicamente un file CSV con FileHelpers
È possibile utilizzare FileHelpers per creare un file CSV in fase di esecuzione nello stesso modo?
In base a qualche input utente, il file CSV che deve essere creato avrà campi diversi che possono essere conosciuti solo in fase di esecuzione. Posso creare il tipo necessario per il motore FileHelper come descritto nella loro sezione di lettura, ma non riesco a capire in che formato devono essere scritti i miei dati.
var engine = new FileHelpers.FileHelperEngine(GenerateCsvType());
engine.WriteStream(context.Response.Output, dontKnow);
EDIT
In alternativa, qualcuno può suggerire una buona biblioteca CSV che può creare un file CSV senza conoscere i suoi campi fino al runtime? Ad esempio, creare un file CSV da un DataTable.
Fantastico :) Questa è un'ottima soluzione, ma esiste un modo per scrivere in uno stream? Questo non è un rompicapo, ma salverebbe alcuni passaggi. Ad ogni modo, grazie! –
Non al momento ma inviami un'email stiamo lavorando attivamente alla prossima versione della libreria e sarebbe molto facile aggiungere una versione sovraccaricata del metodo per scrivere flussi :) – MarcosMeli
@Marcos: è la prossima versione che verrà supportata le liste generiche ('Elenco') come tipo restituito (anziché solo array) dal FileEngine? :-) –