.net生成word或者EXCEL

本文介绍了两种将DataGridView中的数据导出到Word文档的方法。方法一通过ASP.NET服务器控件直接将DataGridView渲染为HTML并下载为.doc文件。方法二利用Word应用程序对象模型,通过COM互操作实现DataGridView内容的导出。
ContractedBlock.gifExpandedBlockStart.gif代码
方法一:

private void Button13_Click(object sender, System.EventArgs e)
{
this.Datagrid4.Visible=true;
Response.Clear();
Response.Buffer
= true;
Response.Charset
="GB2312";
Response.AppendHeader(
"Content-Disposition","attachment;filename=File1.doc");
Response.ContentEncoding
=System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType
= "application/ms-word";
this.Datagrid4.EnableViewState = false;
System.IO.StringWriter oStringWriter
= new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter
= new System.Web.UI.HtmlTextWriter (oStringWriter);
this.Datagrid4.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}


方法二:

public void Button_Click(object sender, System.EventArgs e)
{
Object Nothing
=System.Reflection.Missing.value;
//取得Word文件保存路径
object filename=@SaveAs.Text;
//创建一个名为WordApp的组件对象
Word.Application WordApp=new Word.ApplicationClass();
//创建一个名为WordDoc的文档对象
Word.Document WordDoc=WordApp.Documents.Add(ref Nothing,ref Nothing,
ref Nothing,ref Nothing);
//增加一表格
Word.Table table=WordDoc.Tables.Add(WordApp.Selection.Range,1,1,ref Nothing,ref Nothing);
//在表格第一单元格中添加自定义的文字内容
table.Cell(1,1).Range.Text=wordText.Text;
//在文档空白地方添加文字内容
WordDoc.Paragraphs.Last.Range.Text="Wellcome To Aspxcn.Com";
//将WordDoc文档对象的内容保存为DOC文档
WordDoc.SaveAs(ref filename,ref Nothing,ref Nothing,ref Nothing,ref Nothing,
ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,
ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing);
//关闭WordDoc文档对象
WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
//关闭WordApp组件对象
WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
//返回结果
result.Text="文档路径:<a href="/"+SaveAs.Text+"'>"+SaveAs.Text
+"</a>(点击链接查看)<br/>生成结果:成功!";
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值