999ANDRE999 Posted September 22, 2016 at 11:11 AM Report #599070 Posted September 22, 2016 at 11:11 AM Viva pessoal, Tenho uma gridview com dados e eu quero exporta-la para excel. Utilizo este código e funciona, mas não como pretendo: protected void ExportGridToExcel(object sender, EventArgs e) { Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filename=Status_Project_APT_" + DateTime.Now.ToString("yyyyMMdd") + ".xls"); Response.ContentType = "application/excel"; System.IO.StringWriter sw = new System.IO.StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); GridView_project.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); } public override void VerifyRenderingInServerForm(Control control) { /*Tell the compiler that the control is rendered * explicitly by overriding the VerifyRenderingInServerForm event.*/ } ao fazer a exportação, exporta tudo desformatado e não tal e qual visualizo na pagina web. Na pagina esta tudo direitinho com linhas a separar as celulas e tudo, no excel aparece tudo muito pequenino e sem as linhas a dividir as celulas, com celulas de texto alinhadas a direita e celulas numericas à esquerda e quero tudo ao centro. Também pretendia eliminar a primeira coluna da gridview na exportação. alguem me consegue ajudar?
iron Posted September 22, 2016 at 01:53 PM Report #599077 Posted September 22, 2016 at 01:53 PM Vê se isto te ajuda http://stackoverflow.com/questions/6840099/how-can-i-export-data-to-an-excel-file Cumprimentos, iron
999ANDRE999 Posted September 22, 2016 at 01:59 PM Author Report #599078 Posted September 22, 2016 at 01:59 PM 5 minutos atrás, iron disse: Vê se isto te ajuda http://stackoverflow.com/questions/6840099/how-can-i-export-data-to-an-excel-file Nem por isso. Os comandos Excel.Application nao funcionam no codigo. 😕
999ANDRE999 Posted September 22, 2016 at 02:04 PM Author Report #599079 Posted September 22, 2016 at 02:04 PM Eliminar a coluna com o index 0 já consegui: GridView_project.HeaderRow.Cells[0].Visible = false; for (int i = 0; i < GridView1.Rows.Count; i++) { GridViewRow row = GridView1.Rows[i]; row.Cells[0].Visible = false; } só falta mesmo a questão da formatação. O objetivo era poupar tempo com a exportação, mas tendo que formatar tudo a mão o trabalho que estou a ter é em vão. 😞
999ANDRE999 Posted September 22, 2016 at 03:57 PM Author Report #599082 Posted September 22, 2016 at 03:57 PM Já consegui formatar da maneira como queria assim (não sei se foi a melhor opção, mas resulta): GridView_project.Style.Add("font-size", "16px"); for (int i = 0; i <= 18; i++) { GridView_project.Columns[i].ItemStyle.HorizontalAlign = HorizontalAlign.Center; GridView_project.Columns[i].ItemStyle.VerticalAlign = VerticalAlign.Middle; GridView_project.Columns[i].ItemStyle.BorderStyle = BorderStyle.Solid; GridView_project.Columns[i].ItemStyle.BorderColor = Color.FromName("#565656"); } Agora o meu ultimo problema, acho eu 😁, é que aparece a formatação do fundo que tenho até à coluna XFD, mesma não existindo dados. Mas só nas linhas de cabeçalho e rodapé da gridview. Alguma ideia?
iron Posted September 23, 2016 at 04:03 PM Report #599108 Posted September 23, 2016 at 04:03 PM Pelo que vi, pesquisei mais um bocado e descobri isto: http://www.aspsnippets.com/Articles/Export-GridView-to-Excel-in-ASPNet-with-Formatting-using-C-and-VBNet.aspx Como nunca fiz isso, não te posso ajudar muito mais. Cumprimentos, iron
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now