GridView의 데이터를 Excel로 내보내기
8956 단어 GridView
1. 사용자 정의 방법: ToExcel(Control ctl,string FileName)
이 방법은 데이터 연결 컨트롤의 데이터를 Excel로 내보내는 것입니다.
private void ToExcel(Control ctl, string FileName)
{
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + FileName);
ctl.Page.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
2. LinkButton을 두 번 클릭하고 버튼에 다음 코드를 기록합니다.
protected void LinkButton1_Click(object sender, EventArgs e)
{
GridView1.AllowPaging = false;
GridView1.AllowSorting = false;
bang();
ToExcel(GridView1, "data.xls");
GridView1.AllowPaging = true;
GridView1.AllowSorting = true;
bang();
}
3. 물론입니다. 사용자 정의 귀속 방법도 있습니다bang ().이 뱅 () 을 쓰면 데이터를 연결할 때 많은 코드를 쓸 필요가 없습니다.bang () 코드 약.
사실 데이터를 Excel로 내보내는 것은 매우 자주 사용하는 기능일 것이다. 서로 다른 페이지에서 코드를 한 번 쓰지 않도록 우리는 그것을 클래스 모듈로 만들어서 App_에 저장할 수 있다코드 폴더에서 이렇게 하면 필요할 때 직접 인용할 수 있다.
App_Code : using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
//
using System.Web.UI;
public class toExcel
{
public toExcel()
{
//
//TODO:
//
}
public Control ctl;
public string FileName;
public void exportExcel(Control ctl, string FileName)
{
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + FileName);
ctl.Page.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
}
그런 다음 CS 파일에서 클래스 모듈을 참조합니다.
protected void LinkButton1_Click(object sender, EventArgs e)
{
GridView1.AllowPaging = false;//
GridView1.AllowSorting = false;//
bind();
toExcel Export=new toExcel(); Control ctl = Export.ctl = GridView1; string FileName = Export.FileName = " .xls"; Export.exportExcel(ctl, FileName);
GridView1.AllowPaging = true;//
GridView1.AllowSorting = true;//
bind();
}
주의!이 오류 메시지가 나타나기 쉽습니다.
"GridView" 유형의 컨트롤 "ctl00_ContentPlaceHolder1_GridView1" 은 runat=server가 있는 창 태그에 넣어야 합니다
만약 그렇다면 하나의 방법을 다시 불러와야 한다(방법에는 아무것도 쓰지 않으면 된다.):
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
이렇게 하면 잘못이 없을 것이다.
클래스 모듈을 활용하면 excel로 내보내야 하는 모든 페이지에서 간단한 인용만 하면 됩니다. 주로 다음과 같습니다.
toExcel Export=new toExcel(); Control ctl = Export.ctl = GridView1; string FileName = Export.FileName = " .xls"; Export.exportExcel(ctl, FileName);
Excel로 내보낸 다른 글:http://www.cnblogs.com/ibgo/p/3531799.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
GridView의 데이터를 EXCEL로 내보내기백그라운드에서 데이터 조회 작업을 할 때, 우리는 GridView 컨트롤러를 사용하여 데이터 표시를 할 수 있습니다. 때로는 GridView 컨트롤러에 표시된 데이터를 EXCEL 파일로 내보내야 하고, GridVie...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.