a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 115|回复: 0

[基础知识] 将Asp.Net页面输出到EXCEL里去

[复制链接]
发表于 2012-8-4 12:37:27 | 显示全部楼层 |阅读模式
其实,利用ASP.NET输出指定内容的WORD、EXCEL、TXT、HTM等类型的文档很容易的。主要分为三步来完成。
: F1 z8 I& M  u( h; r" ]/ ^3 Q. @% |, N6 h- Q
  一、定义文档类型、字符编码  
2 J- i0 v2 i; J0 S7 D   Response.Clear();    Response.Buffer= true; , R0 S! \& M2 p0 H4 b+ v* u
   Response.Charset="utf-8";  
/ j: m' ]% A0 c   //下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开
, ^+ G& j6 ~6 v! X, I8 z2 C3 v   //filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc    .xls    .txt   .htm   ) T+ ]$ t( a, M) p# W- x5 X' X
   Response.AppendHeader("Content-Disposition","attachment;filename=FileFlow.xls"); / }7 p# R6 O- q
   Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");   9 k- w. D- l! U5 H# t; d, v6 }
   //Response.ContentType指定文件类型 可以为application/ms-excel    application/ms-word    application/ms-txt    application/ms-html    或其他浏览器可直接支持文档  3 d+ ], F) i6 n0 ^, e: l
   Response.ContentType = "application/ms-excel";
" [0 _1 @. u8 ^. b# l   this.EnableViewState = false;  ! E, c, j9 d% A( |3 [

- u6 }4 F9 c2 Q7 N, Y  二、定义一个输入流   2 F$ S0 A3 J% [: j9 H" j1 u
4 ?" f! S* K; Q) \+ _; B1 m
   System.IO.StringWriter oStringWriter = new System.IO.StringWriter();    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);. b+ G1 ~" r9 w) U& X
, }- s; C1 r) U9 P* e8 X
  三、将目标数据绑定到输入流输出  
5 F" j" |0 Q, n7 f9 ^4 F9 N$ V. @3 j/ `
   this.RenderControl(oHtmlTextWriter);       //this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件  
% E* S2 J3 q6 a! C8 ?   Response.Write(oStringWriter.ToString()); 2 v  ^( a3 U4 n' c. [( F; z
   Response.End();   / |" f5 V. q" \, }7 C, k: W+ T' P
/ `  ~5 L: r7 @# J; o# w
  总结:本例程在Microsoft Visual Studio .NET 2003平台下测试通过,适用于C#和VB,当采用VB的时候将 this 关键字改成 me 。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 19:40 , Processed in 0.315786 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表