HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8; //关闭控件的视图状态
source.Page.EnableViewState =false; //初始化HtmlWriter
System.IO.StringWriter writer = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
source.RenderControl(htmlWriter); //输出 HttpContext.Current.Response.Write(writer.ToString());
HttpContext.Current.Response.End();
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8; //关闭控件的视图状态
source.Page.EnableViewState =false; //初始化HtmlWriter
System.IO.StringWriter writer = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
source.RenderControl(htmlWriter); //输出 HttpContext.Current.Response.Write(writer.ToString());
HttpContext.Current.Response.End();
解决方案 »
- 谁装了VS2005 SP1的进来帮个忙
- 用ASP .NET开发的B/S系统,如何防止别人盗版?
- Server.UrlEncode和UrlDecode的具体用法?
- 发现一个非常奇怪的问题。有意思,大家进来帮我看看。这事都新鲜
- 编译器错误信息: CS0120: 非静态的字段、方法或属性“System.Web.UI.Page.Request.get”要求对象引用
- 如何使用ASP。NET实现在WEB页里面使用和WORD同样的功能
- ASP.NET的4个问题(求助)! 一百分哦 答的越多分给的越多哟*_^
- 一个关与ListBox的问题
- asp.net gridview控件
- ASPX.NET中如下正则表达式该如何写?
- 页面加载完成前禁用控件
- C# 调用alert提示框,点击确定后转到指定页面
试试
页面加上这个试试!
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections;
using System.IO;/// <summary>
///ExcelHelper 的摘要说明
/// </summary>
namespace DBUtility
{
public class ExportHelper
{ public static void ExportToExcel(IList dataList, string[] fields, string[] headTexts, string title)
{
GridView gvw = new GridView();
int ColCount, i; //如果筛选的字段和对应的列头名称个数相对的情况下只导出指定的字段
if (fields.Length != 0 && fields.Length == headTexts.Length)
{
ColCount = fields.Length;
gvw.AutoGenerateColumns = false; for (i = 0; i < ColCount; i++)
{
BoundField bf = new BoundField();
bf.DataField = fields[i];
bf.HeaderText = headTexts[i];
gvw.Columns.Add(bf);
}
}
else
{
gvw.AutoGenerateColumns = true;
} SetStype(gvw);
gvw.DataSource = dataList;
gvw.DataBind(); ExportToExcel(gvw, title);
}
/// <summary>
/// 导出数据到Excel
/// </summary>
/// <param name="DataList">IList Data</param>
/// <param name="Fields">要导出的字段</param>
/// <param name="HeadName">字段对应显示的名称</param>
public static void ExportToExcel(IList dataList, string[] fields, string[] headTexts)
{
ExportToExcel(dataList, fields, headTexts, string.Empty);
} /// <summary>
/// 设置样式
/// </summary>
/// <param name="gvw"></param>
private static void SetStype(GridView gvw)
{
gvw.Font.Name = "Verdana";
gvw.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
gvw.HeaderStyle.BackColor = System.Drawing.Color.LightCyan;
gvw.HeaderStyle.ForeColor = System.Drawing.Color.Black;
gvw.HeaderStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
gvw.HeaderStyle.Wrap = false;
gvw.HeaderStyle.Font.Bold = false;
gvw.HeaderStyle.Font.Size = 15;
gvw.RowStyle.Font.Size = 12;
gvw.RowStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
}
/// <summary>
/// 导出GridView中的数据到Excel
/// </summary>
/// <param name="gvw"></param>
/// <param name="DataList"></param>
private static void ExportToExcel(GridView gvw, string title)
{
string fileName;
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Charset = "GB2312";
// HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
fileName = string.Format("{0:yyyy-MM-dd_HH_mm_ss}.xls", DateTime.Now);
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName);
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
gvw.RenderControl(hw);
if (!string.IsNullOrEmpty(title))
{
HttpContext.Current.Response.Write("<b><center><font size=5 face=Verdana color=#000>" + title + "</font></center></b>");
}
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
HttpContext.Current.Response.End(); gvw.Dispose();
tw.Dispose();
hw.Dispose(); gvw = null;
tw = null;
hw = null; }
}
}
~~
org.in2bits.MyXls.XlsDocument doc = new XlsDocument();
doc.FileName = "教材信息参考资料.xls";
insertDataTable(TeachVersion, "教材系列信息", doc, "1", "教材名称", "教材ID");
insertDataTable(dtSubject, "学科信息", doc, "2", "学科名称", "学科ID");
insertDataTable(dtGrades, "年级信息", doc, "3", "年级ID", "年级名称");
string strTemp = System.Web.HttpUtility.UrlEncode("教材信息参考资料.xls", System.Text.Encoding.UTF8);
Response.AppendHeader("content-disposition", "attachment;filename=" + strTemp);
Response.OutputStream.Write(doc.Bytes.ByteArray, 0, doc.Bytes.ByteArray.Length);
Response.Flush();
Response.End();