|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了?怎样用C#编程完成静态天生Word文档并添补数据的效果呢?要利用C#操纵word,起首要增加援用1、增加援用->COM->MicrosoftWord11.0ObjectLibrary
2、在.cs文件中增加
usingWord;
上面的例子中包含C#对Word文档的创立、拔出表格、设置款式等操纵:
(例子中代码有些触及数据信息部分被省略,主要是先容一些C#操纵word文档的办法)
publicstringCreateWordFile(stringCheckedInfo)
...{
stringmessage="";
try
...{
ObjectNothing=System.Reflection.Missing.Value;
Directory.CreateDirectory("C:/CNSI");//创立文件地点目次
stringname="CNSI_"+DateTime.Now.ToShortString()+".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=BrandName;
//纵向兼并单位格
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=Picture;//图片地点路径
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;
}
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。 |
|