asp.net实现将数据输出到word 100

 我来答
帐号已注销
2012-03-07
知道答主
回答量:9
采纳率:0%
帮助的人:1.5万
展开全部
public void Download()
{
Random rd = new Random();
string fileName = DateTime.Now.ToString("yyyyMMddhhmm") + rd.Next() + ".doc";
//存储路径
string path = Server.MapPath(fileName);
//创建字符输出流
StreamWriter sw = new StreamWriter(path, true, System.Text.UnicodeEncoding.UTF8);

//需要导出的内容
string str = "<html><head><title>无标题文档</title></head><body>这里放从数据库导出的word文档内容</body></html>";

//写入
sw.Write(str);
sw.Close();
Response.Clear();
Response.Buffer = true;
this.EnableViewState = false;
Response.Charset = "utf-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "application/octet-stream";
Response.WriteFile(path);
Response.Flush();
Response.Close();
Response.End();
}

标准word文档的格式微软暂未公布,由此我们可将需要导出的内容转为标准HTML文件储存,后缀名为.doc

也可以将要导出内容转为标准XML格式存储,改后缀为.doc

具体格式随意新建个word文档,输入内容,另存为.XML可见

另外一种导出方式为word导出标准格式,服务器需要安装Microsoft Office word,需要预先设置好一个word文档并在要插入内容的地方设置书签做为模版,导出word文档时需要先遍历模版文件中的所有书签,然后给书签赋值就能实现导出数据了

还有不懂的可以直接百度HI我
一诺千金丨
2016-01-17 · 知道合伙人数码行家
一诺千金丨
知道合伙人数码行家
采纳数:8766 获赞数:32844
1、专业生产电力检测设备,若要咨询相关直接向我咨询关于电力检测设备的问题吧。 2、武高电测最佳员工。

向TA提问 私信TA
展开全部
dot模版文件中插入标签。对应读入数据中的值。问题是如何动态通过数据内容改变word生成的字体或样子。

//第一步生成word文档
//定义书签变量
object Name = "Name";//项目名
object BidNo = "BidNo";//招标编号
//第二步 读取数据,填充数据集
//SqlDataReader dr = XXXXX;//读取出来的数据集
//第三步 给书签赋值
docFile.Bookmarks.get_Item(ref Name).Range.Text = ds.Tables[0].Rows[0][2].ToString();
docFile.Bookmarks.get_Item(ref BidNo).Range.Text = ds.Tables[0].Rows[0][3].ToString();
appWord.Selection.TypeParagraph();//换行
appWord.Selection.Font.Bold = 0;//正常体
appWord.Selection.Font.Color = word.WdColor.wdColorBlack;//黑色字体
appWord.Selection.ParagraphFormat.Alignment = word.WdParagraphAlignment.wdAlignParagraphJustify;//两端对齐
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勿说心想
2012-02-26 · TA获得超过291个赞
知道大有可为答主
回答量:2104
采纳率:50%
帮助的人:1492万
展开全部
private void GridViewToExcel()
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"); //这里是用日期做名称
HttpContext.Current.Response.Charset = "utf-8";
HttpContext.Current.Response.ContentType = "application/excel";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
this.GridView1.AllowPaging = false; //GridView不启用分页
GridView1.RenderControl(htmlWrite);
HttpContext.Current.Response.Write(stringWrite.ToString());
}
//导出Exec数据
protected void butExec_Click(object sender, EventArgs e)
{
GridViewToExcel();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MTNHan
2012-02-26 · TA获得超过915个赞
知道小有建树答主
回答量:633
采纳率:0%
帮助的人:572万
展开全部
1.直接以html格式输出文件,扩展名为doc即可以用word打开;
2.用VBA编程,网上有很多例子
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式