Fórum Gerar Excel a partir de um DataSet em C# WindowsForm #411684
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
Curtir tópico
+ 0Posts
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();
}
Gostei + 0
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.
Gostei + 0
20/01/2012
Marcelo
Obrigado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)