ASP.NET动态生成word文档

问题描述

刚学习C#,ASP.NET,老大让我用ASP.NET动态生成word文档,对于这个我不是太懂,有人可以告诉我应该怎么做么,最好有个程序例子。谢谢了~~~~

解决方案

解决方案二:
首先要添加引用:1、添加引用->COM->MicrosoftWord11.0ObjectLibrary2、在.cs文件中添加usingWord;代码如下:publicstringCreateWordFile(stringCheckedInfo){stringmessage="";try{ObjectNothing=System.Reflection.Missing.Value;Directory.CreateDirectory("C:/CNSI");//创建文件所在目录stringname="CNSI.doc";objectfilename="C://CNSI//"+name;//文件保存路径//创建Word文档Word.ApplicationWordApp=newWord.ApplicationClass();Word.DocumentWordDoc=WordApp.Documents.Add(refNothing,refNothing,refNothing,refNothing);//添加页眉WordApp.ActiveWindow.View.Type=WdViewType.wdOutlineView;WordApp.ActiveWindow.View.SeekView=WdSeekView.wdSeekPrimaryHeader;WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("[页眉内容]");WordApp.Selection.ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphRight;//设置右对齐WordApp.ActiveWindow.View.SeekView=WdSeekView.wdSeekMainDocument;//跳出页眉设置WordApp.Selection.ParagraphFormat.LineSpacing=15f;//设置文档的行间距//移动焦点并换行objectcount=14;objectWdLine=Word.WdUnits.wdLine;//换一行;WordApp.Selection.MoveDown(refWdLine,refcount,refNothing);//移动焦点WordApp.Selection.TypeParagraph();//插入段落//文档中创建表格Word.TablenewTable=WordDoc.Tables.Add(WordApp.Selection.Range,12,3,refNothing,refNothing);//设置表格样式newTable.Borders.OutsideLineStyle=Word.WdLineStyle.wdLineStyleThickThinLargeGap;newTable.Borders.InsideLineStyle=Word.WdLineStyle.wdLineStyleSingle;newTable.Columns[1].Width=100f;newTable.Columns[2].Width=220f;newTable.Columns[3].Width=105f;//填充表格内容newTable.Cell(1,1).Range.Text="产品详细信息表";newTable.Cell(1,1).Range.Bold=2;//设置单元格中字体为粗体//合并单元格newTable.Cell(1,1).Merge(newTable.Cell(1,3));WordApp.Selection.Cells.VerticalAlignment=Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中WordApp.Selection.ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphCenter;//水平居中//填充表格内容newTable.Cell(2,1).Range.Text="产品基本信息";newTable.Cell(2,1).Range.Font.Color=Word.WdColor.wdColorDarkBlue;//设置单元格内字体颜色//合并单元格newTable.Cell(2,1).Merge(newTable.Cell(2,3));WordApp.Selection.Cells.VerticalAlignment=Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//填充表格内容newTable.Cell(3,1).Range.Text="品牌名称:";newTable.Cell(3,2).Range.Text=CheckedInfo;//纵向合并单元格newTable.Cell(3,3).Select();//选中一行objectmoveUnit=Word.WdUnits.wdLine;objectmoveCount=5;objectmoveExtend=Word.WdMovementType.wdExtend;WordApp.Selection.MoveDown(refmoveUnit,refmoveCount,refmoveExtend);WordApp.Selection.Cells.Merge();//插入图片stringFileName=@"C:1.jpg";//图片所在路径objectLinkToFile=false;objectSaveWithDocument=true;objectAnchor=WordDoc.Application.Selection.Range;WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName,refLinkToFile,refSaveWithDocument,refAnchor);WordDoc.Application.ActiveDocument.InlineShapes[1].Width=100f;//图片宽度WordDoc.Application.ActiveDocument.InlineShapes[1].Height=100f;//图片高度//将图片设置为四周环绕型Word.Shapes=WordDoc.Application.ActiveDocument.InlineShapes[1].ConvertToShape();s.WrapFormat.Type=Word.WdWrapType.wdWrapSquare;newTable.Cell(12,1).Range.Text="产品特殊属性";newTable.Cell(12,1).Merge(newTable.Cell(12,3));//在表格中增加行WordDoc.Content.Tables[1].Rows.Add(refNothing);WordDoc.Paragraphs.Last.Range.Text="文档创建时间:"+DateTime.Now.ToString();//“落款”WordDoc.Paragraphs.Last.Alignment=Word.WdParagraphAlignment.wdAlignParagraphRight;//文件保存WordDoc.SaveAs(reffilename,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing);WordDoc.Close(refNothing,refNothing,refNothing);WordApp.Quit(refNothing,refNothing,refNothing);message=name+"文档生成成功,以保存到C:CNSI下";}catch{message="文件导出异常!";}returnmessage;}你看看行不行!!!
解决方案三:
赞一个,例子超详细啊,先收藏了哈~谢谢jack15850798154
解决方案四:
该回复于2012-03-30 10:55:26被版主删除
解决方案五:
这是爷俩
解决方案六:
引用1楼的回复:

首先要添加引用:1、添加引用->COM->MicrosoftWord11.0ObjectLibrary

12.0的可以吗
解决方案七:
引用1楼的回复:

2、在.cs文件中添加usingWord;

Word添加不上usingMicrosoft.Office.Interop.Word;这个行
解决方案八:
8错呀。收藏了。
解决方案九:
WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName,refLinkToFile,refSaveWithDocument,refAnchor);jack15850798154这句报错了捏

时间: 2024-10-30 00:24:17

ASP.NET动态生成word文档的相关文章

asp.net中动态生成word文档,怎么给导出的word中标题栏的加个背景颜色。

问题描述 asp.net中动态生成word文档,怎么给导出的word中标题栏的加个背景颜色. asp.net中动态生成word文档,怎么给 导出 的word中标题栏的加个背景颜色.

C#编程实现动态生成Word文档

如何用C#编程实现动态生成Word文档并填充数据的效果呢?要使用C#操作word,首先要添加引用     1.添加引用->COM->Microsoft Word 11.0 Object Library     2.在.cs文件中添加     using  Word;     下面的例子中包括C#对Word文档的创建.插入表格.设置样式等操作:     (例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法)     public   string  CreateWor

asp.net下用Aspose.Words for .NET动态生成word文档中的数据表格的方法

最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个----动态

asp.net下用Aspose.Words for .NET动态生成word文档中的图片或水印的方法_实用技巧

1.概述 在项目中生成word文档,这个功能很普遍的,一般生成都是纯文字或是列表的比较多,便于客户打印,而要把图片也生成到word文档中的需求有些客户也是需要的,例如产品图片.这次我们介绍的是如何利用Aspose.Words for .NET在Word中动态的生成图片或水印.Aspose.Words for .NET,这个我就不多介绍了,不清楚的朋友可以看看上一篇文章.需求总是变化得快,最近项目中又多了一个这样需求:系统中生成报价单后,要有一个签名,这个签名是根据不同用户来生成的图片.好了,下面

用Aspose.Words for .NET动态生成word文档中的数据表格

1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个-

C#动态生成Word文档并填充数据

要使用C#操作word,首先要添加引用: 1.添加引用->COM->Microsoft Word 11.0 Object Library 2.在.cs文件中添加 using Word; 下面的例子中包括C#对Word文档的创建.插入表格.设置样式等操作: (例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法) public string CreateWordFile(string CheckedInfo) ...{ string message = "&q

ASP生成Word文档的又一方法

word 在网上,利用Asp生成Word文档的方法实在不少,最常见到的方法就是利用Word生成.dot的文档,再用Asp向.dot文档中传递宏,这种方法虽好,但实现起来非常复杂,而且不能循环生成表格. 在实际应用中,我总结出来一种新的生成Word文件的方法,生成的Word文件有页眉.页角,现拿出一例与大家探讨. 实现: 我的解决办法,用Word XP(其他版本还没有试过)制作表格,将做好的Word表格转换为HTML文档,在用ASP控制转换后HTML文档. 页眉.页角的解决办法,在转换带Word页

巧用ASP实现在线生成PDF文档

    在开始讲解ASP实现在线生成PDF文档之前我们先了解一下PDF的历史,了解了某个东西,知道他的作用性以及重要性,再去学习该ASP程序相信效果一定不一样.     Adobe PDF格式已经变成很多机构和公司进行跨平台制表的通用媒体格式.尽管我不是这个产品的狂热痴迷者,却不得不接受这样一个事实:用这个格式产生一个协定可能会比用Word还要好.           由于在一家雇用公司工作,我已经把我们所有早期的软件写成能在Internet上运行,这样我们就能和小的子公司共享公用数据库了.然而

PHP生成word文档的三种实现方式_php实例

最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像只要是标题带PHP的貌似点击量都不是很高(哥哥我标题还是带上PHP了),不知道为什么,估计博客园上net技术大牛比较多吧,如果把java,.net,php比作程序员的女友,那么java是Oracle门下的大家闺秀,.net微软旗下的名门望族,PHP则是草根门下的山村野姑,这让我等PHP草民闷骚男情何以堪情何以堪..牢骚发完了,正式写吧 PHP生成word原理 利用windows下面的 com组件 利用PHP将内