最近在一个网逻站,看了几篇文章,觉得很不错,转贴过来^_^不过,暂未贴完,这不允许贴太多,那的东东也不少,还可以申请[email protected]的邮箱^_^,大家也可以直接去看:http://www.weblogic.com.cn其实,利用ASP.NET输出指定内容的WORD、EXCEL、TXT、HTM等类型的文档很容易的。主要分为三步来完成。 一、定义文档类型、字符编码      Response.Clear(); 
   Response.Buffer= true; 
   Response.Charset="utf-8";     //下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开 
   //filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc    .xls    .txt   .htm      Response.AppendHeader("Content-Disposition","attachment;filename=FileFlow.xls"); 
   Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");   
   //Response.ContentType指定文件类型 可以为application/ms-excel    application/ms-word    application/ms-txt    application/ms-html    或其他浏览器可直接支持文档 
   Response.ContentType = "application/ms-excel"; 
   this.EnableViewState = false;     二、定义一个输入流  
(未完待续……)大家也可以直接去http://www.weblogic.com.cn看完,还有图解。

解决方案 »

  1.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    DataGrid1.DataSource=CreateDataSource();
    DataGrid1.DataBind();
    // 在此处放置用户代码以初始化页面
    } ICollection CreateDataSource() 
    {
    DataTable dt = new DataTable();
    DataRow dr;
    dt.Columns.Add(new DataColumn("身份证号码", typeof(string)));
    dt.Columns.Add(new DataColumn("图书单价",typeof(decimal)));
    dt.Columns.Add(new DataColumn("购买数量",typeof(Int32)));
    dt.Columns.Add(new DataColumn("总价格",typeof(decimal)));
    for (int i = 0; i < 30; i++) 
    {
    dr = dt.NewRow();
    dr[0] = "123456789123456789";
    dr[1] = 100 * i /3.0;
    dr[2] = i + 5;
    dr[3] = (decimal)dr[1] * (Int32)dr[2];
    dt.Rows.Add(dr);
    }
    DataView dv = new DataView(dt);
    return dv;
    } private void Button1_Click(object sender, System.EventArgs e)
    {
    Response.Clear(); 
    Response.Buffer= true; 
    Response.Charset="GB2312";    
    Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls"); 
    Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); //设置输出流为简体中文
    Response.ContentType = "application/ms-excel"; //设置输出文件类型为excel文件。 
    this.EnableViewState = false;    
    System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
    System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); 
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
    this.DataGrid1.RenderControl(oHtmlTextWriter); 
    Response.Write(oStringWriter.ToString());
    Response.End(); }
    private void Button1_Click(object sender, System.EventArgs e)
    {
    Response.Clear(); 
    Response.Buffer= true; 
    Response.Charset="GB2312";    
    //Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls"); 
    //Response.AppendHeader("Content-Disposition","attachment;filename=FileName.doc"); 
    //Response.AppendHeader("Content-Disposition","attachment;filename=FileName.txt"); 
    Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); //设置输出流为简体中文
    //Response.ContentType = "application/ms-excel"; //设置输出文件类型为excel文件。 
    //Response.ContentType="application/ms-word";
    //Response.ContentType="application/ms-notepad";
    this.EnableViewState = false;    
    System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
    System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); 
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
    this.DataGrid1.RenderControl(oHtmlTextWriter); 
    Response.Write(oStringWriter.ToString());
    Response.End(); }