レポートエクスポートモジュールの実装
表のエクスポート方法は少なくとも3つあり、1つ目はExcelでHTMLをサポートし、コントロールのRenderControl()メソッドを直接利用して、コントロールのHTMLコードをExcelタイプでクライアントに出力することである.第二に、Excelのcomインタフェースライブラリを利用して完成する.3つ目は、データ・アクセス・オブジェクトを使用してExcelファイルを操作し、Excelをエクスポートする効果です.
以下が1つ目の方法です.
フロントNetページに含まれるhtml:
ヘッダRepeaterコントロール
以下が1つ目の方法です.
//
public void Report(System.WEB.UI.Pagepage,Repeater rpt,string title,string type)
{
//
HttpContext.Current.Response.Clear( ){……};
// HTTP
HttpContext.Current.Response.Charset ="uft-8";
// HTTP
HttpContext.Current.Response.AddHeader("Content-Disposition",
"attachment;filename="+HttpUtility.UrlEncode(DateTime.Now.ToString("yyyyMMddHHMMss")+ ".xls",Encodin g.UTF8).ToString( ){……});
// HTTPMIME
HttpContext.Current.Response.ContentType ="application/ms-excel";
//
page.EnableViewState = false;
System.IO.StringWriteroStringWriter = new System.IO.StringWriter( ){……};
System.WEB.UI.HtmlTextWriter oHtmlTextWriter=
new System.WEB.UI.HtmlTextWriter(oStringWriter);
// HtmlTextWriter
rpt.RenderControl(oHtmlTextWriter);
// HTTP
HttpContext.Current.Response.Write("<html><head><metahttp-equiv=Content-Type content=\"text/html;cha rset=utf-8\"></head><body><table><b>"+ +"</b></td></tr></table><table>"+"<thead> </thead><tbody>");
string temp = oStringWriter.ToString( ){……};
HttpContext.Current.Response.Write(temp);
HttpContext.Current.Response.Write("</tbody></table></body></html>");
//
HttpContext.Current.Response.End(){……};
}
フロントNetページに含まれるhtml:
ヘッダRepeaterコントロール