使用下面的代码
System.IO.StringWriter SW = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter HTW=new System.Web.UI.HtmlTextWriter(SW);
Page.RenderControl(HTW);
//Page为要导出的对象,当前是Page,如果是DataGrid,DataList等都可以
Response.Buffer=true;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "Response.ContentType";
//Response.ContentType是输出流的 HTTP MIME 类型
//Response.ContentType --- word文件
//application/vnd.ms-excel --- excel文件
//...
Response.Charset="utf-8";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
Response.AddHeader("Content-Disposition", "attachment;filename=XXX.doc");
//attachment --- 作为附件下载
//inline --- 在线打开
//filename如过是中文,则可以用HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8)
//进行进行编码,以解决文件名乱码的问题
Response.Write(SW.ToString());
Response.Flush();
Response.Close();可以生成word文档,但是页面上有许多textbox、datagrid等类型的服务器控件,这些控件里的数据没有显示,请问应该怎么做?
System.IO.StringWriter SW = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter HTW=new System.Web.UI.HtmlTextWriter(SW);
Page.RenderControl(HTW);
//Page为要导出的对象,当前是Page,如果是DataGrid,DataList等都可以
Response.Buffer=true;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "Response.ContentType";
//Response.ContentType是输出流的 HTTP MIME 类型
//Response.ContentType --- word文件
//application/vnd.ms-excel --- excel文件
//...
Response.Charset="utf-8";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
Response.AddHeader("Content-Disposition", "attachment;filename=XXX.doc");
//attachment --- 作为附件下载
//inline --- 在线打开
//filename如过是中文,则可以用HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8)
//进行进行编码,以解决文件名乱码的问题
Response.Write(SW.ToString());
Response.Flush();
Response.Close();可以生成word文档,但是页面上有许多textbox、datagrid等类型的服务器控件,这些控件里的数据没有显示,请问应该怎么做?
解决方案 »
- 求助:我用的是vs2005,添加了ajax后出现问题
- 我弄了个无限分级下拉列表
- 急:GridViewRow row = GridView1.SelectedRow;输入字符串的格式不正确。
- 谁能提供一个好用的左侧导航栏目代码
- 搜索字符串中是否有反动or色情 字符 如果有 转换为***谢谢
- 在创建解决方案时遇到的问题、、、、、、、
- 数据的显示碰到问题了 请朋友各位帮忙
- 多用户同时搜索时, 搜索的参数如何维持各个用户的搜索状态呢?
- 特急!!!关于resource文件,未能在给定的程序集中找到任何适合于指定的区域性(或非特定区域性)的资源
- 刚刚学.net,窗体一直提交不了,急!!!!!!
- 用到母版页时在内容页里怎么用JS找到控件
- 网站发布出现错误!急!!!
然后根据这个document来导出成word貌似word认标准的html的你可以直接导出成html文件,只是后缀名是.docup
{
System.IO.StringWriter html = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
base.Render(tw);
System.IO.StreamWriter sw;
sw = new System.IO.StreamWriter(Server.MapPath("doc.htm"), false, System.Text.Encoding.Default);
sw.Write(html.ToString());
sw.Close();
tw.Close();
Response.Write(html.ToString());
} 可以生成静态页面
<script >
function AllAreaWord()
{
if(document.all( "tab ").rows.length==0)
{
alert( "没有内容可导! ");
return;
}
try{
var oWD = new ActiveXObject( "Word.Application ");
}catch(e)
{
alert( "无法调用Office对象,请确保您的机器已安装了Office并已将本系统的站点名加入到IE的信任站点列表中! ");
return;
}
var oDC = oWD.Documents.Add( " ",0,1);
var oRange =oDC.Range(0,1);
var sel = document.body.createTextRange();
sel.moveToElementText(tab); //tab 为导出数据所在的表格ID
sel.select();
sel.execCommand( "Copy ");
oRange.Paste();
oWD.Application.Visible = true;
}
</script >