问题描述
刚学习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这句报错了捏