Inquiridor
relatorios excel com dados do gridview

Pergunta
-
Olá galera,
Seguinte, tenho uma aplicação [ C# Windows Form ] onde nela eu posso realizar uma pesquisa com um intervalo de datas, até sem problemas.
Preciso que esses dados seja salvos em um arquivo excel. Exemplo: o usuário clica no botão "relatório" e os dados do gridview serão salvos em um documento em excel. Já achei exemplos em Asp.net com C#, mas não consegui adaptar a minha aplicação. Nunca fiz isso e gostaria de saber se alguém pode me ajudar nessa.
Desde já agradeço !
Todas as Respostas
-
Olá.
Tentei utilizar esse exemplo
this.Response.Clear() this.Response.AddHeader("content-disposition", "attachment;filename=NomeDoArquivo.xls")); this.Response.ContentType = "application/vnd.ms-excel"; StringWriter Html = new StringWriter(); HtmlTextWriter Excel = new HtmlTextWriter(Html); Excel.WriteBreak(); Excel.WriteBreak(); grid.RenderControl(Excel); Excel.WriteBreak(); this.Respose.Write(Html); this.Response.End();
Marcos Aguiar Jr - Brazil blog: https://marquinhosnet.wordpress.com/
-
-
-
-
Olá.
Veja se esse link ajuda
Obrigado.
Marcos Aguiar Jr - Brazil blog: https://marquinhosnet.wordpress.com/
-
-
-
Tentei usar o artigo que eu escrevi. Talvez ajude.
http://marquinhosnet.wordpress.com/2012/09/19/exportar-para-excel-desktop/
Sds.
Marcos Aguiar Jr - Brazil blog: https://marquinhosnet.wordpress.com/
-
Utilizei o código e ele me gerou 956 erros
string fileName = "";
// Criando componente para salvar o arquivo no computador
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.CheckPathExists = true;
saveFileDialog.AddExtension = true;
saveFileDialog.ValidateNames = true;
saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
saveFileDialog.DefaultExt = ".xls";
saveFileDialog.Filter = "Microsoft Excel Workbook (*.xls)|*.xls";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
fileName = saveFileDialog.FileName;
var excelApp = new Excel.Application();
// Deixa o objeto visivel
excelApp.Visible = true;
// Criando uma planilha no excel
excelApp.Workbooks.Add();
int ContadorLinha = dgvdados.Rows.Count;
int ContadorColuna = dgvdados.Columns.Count;
// Criando cabeçalho
for (int i = 1; i < ContadorColuna + 1; i++)
{
excelApp.Cells[1, i] = dgvPessoa.Columns[i - 1].HeaderText;
}
// Criando rodapé
for (int i = 0; i < ContadorLinha; i++)
{
for (int j = 0; j < ContadorColuna; j++)
{
if (dgvdados.Rows[i].Cells[j].Value == null)
continue;
excelApp.Cells[i + 2, j + 1] = dgvdados.Rows[i].Cells[j].Value.ToString();
}
}
// Salvando as informações no Excel
excelApp.ActiveWorkbook.SaveCopyAs(fileName);
excelApp.ActiveWorkbook.Saved = true;
excelApp.Quit();
MessageBox.Show("Arquivo salvo com sucesso.");
} -
-
-