仓酷云
标题:
ASP.NET网站制作之C#编程完成静态天生Word文档
[打印本页]
作者:
再见西城
时间:
2015-1-16 22:23
标题:
ASP.NET网站制作之C#编程完成静态天生Word文档
我有个同学,他是搞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的跨平台也当之无愧是一句谎言。
作者:
透明
时间:
2015-1-19 10:24
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
作者:
若相依
时间:
2015-1-28 05:23
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
作者:
深爱那片海
时间:
2015-2-5 15:02
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
作者:
乐观
时间:
2015-2-12 09:56
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
作者:
只想知道
时间:
2015-3-3 02:38
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
作者:
再见西城
时间:
2015-3-11 08:59
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
作者:
不帅
时间:
2015-3-18 01:53
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
作者:
小女巫
时间:
2015-3-25 09:38
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2