Excel을 내보내는 다른 방법 공유

4767 단어 Excel 내보내기
지난번에 EXCEL을 내보내는 클래스를 공유한 적이 있습니다. 그 클래스는 DataSet 대상을 불러서 데이터베이스를 조회하고 EXCEL로 송금하기만 하면 됩니다.이 안에 GridView의 데이터를 EXCEL로 송금하려면 다음 방법이 더 좋을 것 같습니다.
 1     /// <summary>

 2     /// 3     /// </summary>

 4     /// <param name="control"></param>

 5     public override void VerifyRenderingInServerForm(Control control)

 6     {

 7         //base.VerifyRenderingInServerForm(control);

 8     }

 9     //Thist is a helper method used to export gridview data to excel file.

10     // GridView Excel , GridView 、 。

11     // : ,  <%@ Page %>   EnableEventValidation="false" 

12     private void ExportGridViewDateToExcelFile(GridView gridView, string sExcelFileName)

13     {

14         //Response.Clear();

15         Response.ClearContent();

16         Response.AddHeader("content-disposition", "attachment;filename=" + sExcelFileName + ".xls");

17         Response.ContentType = "application/ms-excel";

18 

19         StringWriter strWriter = new StringWriter();

20         HtmlTextWriter htmlWriter = new HtmlTextWriter(strWriter);

21 

22         gridView.RenderControl(htmlWriter);

23         //System.Data.DataTable dt = (System.Data.DataTable)(gridView.DataSource);

24 

25         Response.Write(strWriter.ToString());

26         Response.End();

27     }

이 방법을 사용하려면 <%@ Page%>에 EnableEventValidation="false"를 추가해야 합니다.
 
호출하는 방법도 간단합니다. GridView의 ID를 직접 전송하면 OK입니다. 아래와 같습니다. (뒤에 내보낸 이름입니다. 디코딩을 방지하기 위해 날짜를 이름으로 출력하면 됩니다.)
ExportGridViewDateToExcelFile(Gridview1,  DateTime.Now.ToString("yyyyMMdd"));

좋은 웹페이지 즐겨찾기