Gerar Excel a partir de um DataSet em C# WindowsForm
18/01/2012
0
O dataset ja esta populado, preciso apenas montar um codigo do botal GERA EXCEL.
Alguem poderia me ajudar?
Sou leigo no assunto e to aprendendo tudo na raça, na tentativa e erro, mas os artigos que eu encontrei nao me ajudaram muito.
Marcelo
Posts
19/01/2012
Joao Moreira
string strSQLidPedidosWeb = select osweb from ordens_servico where ordsercod = + OS; SqlCommand cdmIdPedidoWeb = new SqlCommand(strSQLidPedidosWeb, connSQL.Conn); SqlDataReader drIdPedido = cdmIdPedidoWeb.ExecuteReader(); if (drIdPedido.Read()) { StreamWriter sw = new StreamWriter(Server.MapPath(Arquivos/ + edtArquivo.Text),false,Encoding.Default); using (sw) { StringBuilder linha = new StringBuilder(); StringBuilder cabecalho = new StringBuilder(); idPedidoWeb = drIdPedido[osweb].ToString(); drIdPedido.Close(); string strSQLcampos = select a.campo_imp, a.nomcmp_arq from campos_arquivos a + inner join pedidos_web b on (a.codlay_arq = b.codlay_arq) + where b.id = + idPedidoWeb; SqlDataAdapter da = new SqlDataAdapter(strSQLcampos, connSQL.Conn); DataSet dsCampos = new DataSet(); da.Fill(dsCampos); SqlDataAdapter daDados = new SqlDataAdapter(strSQLdados, connSQL.Conn); DataSet dsDados = new DataSet(); daDados.Fill(dsDados); foreach (DataRow dr in dsDados.Tables[0].Rows) { i++; foreach (DataRow drCampos in dsCampos.Tables[0].Rows) { //grava na stringbuilder os nomes dos campos cabecalho.Append(drCampos[1].ToString()+\t); //grava o campo que ta configurado no layout para não imprimir os campos null do dataset dos dados linha.Append(dr[drCampos[0].ToString()].ToString() + \t); } //escreve o cabeçalho com os nomes dos campos if (i == 1) { sw.WriteLine(cabecalho.ToString()); } //escreve os dados sw.WriteLine(linha.ToString()); linha.Clear(); }
20/01/2012
Giordani Ramos
Dependendo do que você está utilizando para exibir o seu dataset, talvez não seja necessário implementar muita coisa para salvar em excel.
Na aba REPORTING da Toolbox, há o componente Report Viewer. Depois de carregar um relatório vinculado ao dataset, este componente habilita o botão (formato de disquete) de exportar o relatório. Há 3 formatos nativos, DOC, XLS e PDF.
Talvez isso resolva seu problema.
Abraço.
20/01/2012
Marcelo
Obrigado.
Clique aqui para fazer login e interagir na Comunidade :)