De DataTable para ficheiro CSV (mais comum do que seria agradável)

Tal como o título sugere, é mais comum do que seria “agradável”, ter de fazer transformações de dados de DataTable, para ficheiros CSV separados por vírgulas ou ponto-e-vírgula, para se transferirem dados nas mais diversas situações! Seria muito mais agradável usar um formato tipo XML ou mesmo JSON do que usar CSV! No entanto o CSV está para ficar, tendo em 2005 sido alvo de RFC para formato comum e Mime Type para transferência de ficheiros (RFC4188).

Ao longo do artigo será apresentada uma classe, bastante simples para escrever dados oriundos de uma DataTable para ficheiro em formato CSV de acordo com o RFC4180 e posteriormente em formato CSV separado por ponto-e-vírgula, conforme é comummente usado para transferência de dados entre sistemas “legados”.

Os dados armazenados num objecto do tipo DataTable, encontram-se num formato suportado pela framework .Net para armazenamento em memória. Como se trata de um objecto existem diversos métodos bastante úteis que podem ser chamados. Muitos deles bastante úteis quando se pretende trabalhar com os dados em memória. No entanto a classe DataTable não tem suporte para escrita de ficheiros CSV.

Existem diversas formas de escrever o conteúdo de uma DataTable em CSV, algumas mais trabalhosas, outras mais simplificadas, desde utilização de loops para se escrever linha a linha do ficheiro, opções mais morosas.

A seguinte classe, implementa uma forma simples de escrever dados vindos de qualquer DataTable para o formato CSV separado por vírgulas.

[...]

Leia o artigo completo na edição 57 da Revista PROGRAMAR

Publicado na edição 57 (PDF) da Revista PROGRAMAR.