quinta-feira, 2 de junho de 2011

Exportando um DataTable (Tabela) para um arquivo CSV (XLS)

Por: Carlos Bueno

Nesse artigo criaremos uma metodo que irá fazer exportação de um DataTable para CSV, a primeira parte do metodo faz um loop para capturar os nomes das colunas e gravar no arquivo, em seguida ele começa a gravar linha a linha os dados do datatable.

A string resultante posse ser salvo como um arquivo CSV.


private static string ExportTableToCsvString(
    DataTable table,  bool printHeaders
)
{
    StringBuilder sb = new StringBuilder();

    if (printHeaders)
    {
        //Grava os CAbeçãlhos.
        for (int colCount = 0;
             colCount < table.Columns.Count; colCount++)
        {
            sb.Append(table.Columns[colCount].ColumnName);
            if (colCount != table.Columns.Count - 1)
            {
                sb.Append(",");
            }
            else
            {
                sb.AppendLine();
            }
        }
    }

    // Grava todas as linhas.
    for (int rowCount = 0;
         rowCount < table.Rows.Count; rowCount++)
    {
        for (int colCount = 0;
             colCount < table.Columns.Count; colCount++)
        {
            sb.Append(table.Rows[rowCount][colCount]);
            if (colCount != table.Columns.Count - 1)
            {
                sb.Append(",");
            }
        }
        if (rowCount != table.Rows.Count - 1)
        {
            sb.AppendLine();
        }
    }
   
    return sb.ToString();
}



Acessem meu twitter clicando aqui

Nenhum comentário:

Postar um comentário