asp.net实现将数据输出到word 100
4个回答
展开全部
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我
{
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 · 知道合伙人数码行家
关注
展开全部
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;//两端对齐
//第一步生成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;//两端对齐
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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();
}
{
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();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.直接以html格式输出文件,扩展名为doc即可以用word打开;
2.用VBA编程,网上有很多例子
2.用VBA编程,网上有很多例子
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |