GridView의 데이터를 EXCEL로 내보내기
5104 단어 GridView
먼저 GridView 컨트롤에 데이터 원본을 설정하고 귀속 작업을 한 다음 내보내기 단추에 다음 클릭 이벤트 코드를 추가합니다.
protected void btnExport_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
//
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
// excel 。
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GridView1.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
현재 내보내기 단추 페이지를 누르면 오류가 발생합니다. "GridView 형식"컨트롤 "GridView1"은runat=server가 있는 창 표시에 있어야 합니다.이것은 페이지에 Verify Rendering InServer Form 방법에 대한 다시 쓰기를 추가하면 데이터를 성공적으로 내보낼 수 있습니다.
public
override
void
VerifyRenderingInServerForm(Control control)
{
}
우리가 내보낸 데이터가 숫자일 때, 예를 들어 번호나 신분증 번호 등은 내보낸 데이터에서 번호 앞의 0이 없어지고 신분증 번호가 과학적인 계수법이 된 것을 발견했다.이것은 GridView의 RowDataBound 이벤트 처리 함수에 내보낸 숫자 열에 스타일을 추가하면 됩니다.
protected
void
GridView1_RowDataBound(
object
sender, GridViewRowEventArgs e)
{
if
(e.Row.RowType
==
DataControlRowType.DataRow)
{
//
e.Row.Cells[
1
].Attributes.Add(
"
style
"
,
"
vnd.ms-excel.numberformat:@;
"
);
}
}
GridView에 페이지가 있을 때 데이터를 내보낼 때 페이지가 잘못 표시됩니다. "Render () 를 실행하는 과정에서만 Register ForEventValidation 을 호출할 수 있습니다."이것은 <% @ Page% > 에서 Enable Event Validation = "false"를 설정하면 됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
GridView의 데이터를 EXCEL로 내보내기백그라운드에서 데이터 조회 작업을 할 때, 우리는 GridView 컨트롤러를 사용하여 데이터 표시를 할 수 있습니다. 때로는 GridView 컨트롤러에 표시된 데이터를 EXCEL 파일로 내보내야 하고, GridVie...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.