基于C#的Word 文档自动导出模块的设计与实现(2)

时间:2013-12-21 14:00 来源:www.fabiaoba.com 作者:梁娟 陈智 点击:

  3.2C#程序通过模板自动创建word文档
  第一步,制作模板
  1)新建一个文档
  2)在相应位置插入书签;将鼠标定位到要插入书签的位置,点击"插入">"书签",弹出对话框,输入书签名,点击"添加"按钮。
  3),保存模板,命名为"试卷.dot"和"答案.dot"。
  第二步,设置项目中的引用
  1)右击"解决方案资源管理器"中的项目目录下的"引用",选择"添加引用"打开"添加引用"对话框。
  2)在"添加引用"对话框中,选择"COM">"MicrosoftWord11.0ObjectLibrary",点击"确定"按钮。
  3)相同操作打开"添加引用"对话框,选择"浏览"项,查找到"Microsoft.Office.Interop.Word.dll"文件,选中它,点击"确定"按钮。
  第三步,编码
  这一步分为两个部分:
  第一部分,Report编码。
  第二部分,具体生成文档的编码。
  1)根据模板新建文档
  privateDocumentNewDoc(stringDotStr){
  DocumentDoc;
  objectobjTemplate=(object)DotStr;
  objectobjMissing=Missing.Value;
  Doc=_App.Documents.Add(
  refobjTemplate,
  refobjMissing,
  refobjMissing,
  refobjMissing
  );
  returnDoc;
  }
  2)定位到书签
  插入书签后,就可以通过操作插入点使光标从文档的其他位置跳转到书签标记的位置,这里将用到Selection对象的GoTo方法,代码如下:
  privatevoidGotoBookmark(DocumentDoc,stringNameStr)
  {
  objectobjWhat=WdGoToItem.wdGoToBookmark;;
  objectobjWhich=WdGoToDirection.wdGoToPrevious;
  objectobjMissing=Missing.Value;
  objectobjName=(object)NameStr;
  Doc.Bookmarks.get_Item(refobjName);
  }
  3)在书签处插入值,可以分三种情况:插入单个值,插入多个值,插入文件。代码分别如下:
  在书签处插入单个值:
  publicvoidInsertBookmarkValue(DocumentDoc,stringNameStr,stringValueStr,stringMsgStr)
  {
  Rangerng;
  objectobjName=(object)NameStr;
  if(Doc.Bookmarks.Exists(NameStr))
  {
  rng=Doc.Bookmarks.get_Item(refobjName).Range;;
  rng.Text=ValueStr;
  }
  else
  {
  _Errors.Add("无法写入:"+MsgStr);
  }
  }
  在书签处插入多个值:
  publicvoidInsertBookmarkValue(DocumentDoc,stringNameStr,ArrayListValueArr,stringMsgStr)
  {
  Rangerng;
  objectobjName=(object)NameStr;
  if(Doc.Bookmarks.Exists(NameStr))
  {
  foreach(stringsinValueArr)
  {
  rng=Doc.Bookmarks.get_Item(refobjName).Range;;
  rng.Text=s;
  }}
  else
  {
  _Errors.Add("无法写入:"+MsgStr);
  }}
  在书签处插入文件:
  publicvoidInsertBookmarkFile(DocumentDoc,stringNameStr,stringFileNameStr,stringMsgStr)
  {
  Rangerng;
  objectobjName=(object)NameStr;
  objectobjMissing=Missing.Value;
  if(Doc.Bookmarks.Exists(NameStr))
  {
  rng=Doc.Bookmarks.get_Item(refobjName).Range;;
  rng.InsertFile(
  FileNameStr,
  refobjMissing,
  refobjMissing,
  refobjMissing,
  refobjMissing
  );
  }else
  {
  _Errors.Add("无法写入:"+MsgStr);
  }}
  4)关闭文件
  finally
  {
  _App.Quit(
  refobjMissing,//SaveChanges
  refobjMissing,//OriginalFormat
  refobjMissing//RoutDocument
  );
  _App=null;
  }
  第四步,运行程序生成文档,并查看生成的文档。
  4小结
  随着计算机技术的普及和发展,将上述Word文档自动导出模块应用于试题库随机组卷抽卷系统,实现Word文档格式的规范化,效果较理想。并按一定的原则规划和建设试题库,使用计算机软件系统管理试题库,保证了考试这一主要教学评价手段的科学性、规范性、可靠性和有效性,为提高教学质量,改进教学活动提供了有力支持。
  参考文献:
  [1]鲁保玉,杨新芳.用Delphi生成Word报告及动态结构表格[J].计算机应用与软件,2007,24(3):180-183.
  [2]车晓波,王知学,王磊.在实现Word自动化操作中书签的应用[J].信息技术,2013(8):148-150.
  [3]熊瑜容,柴毅,王淑娟.基于VC++的Word文档自动生成技术[J].ComputerEra,2010(1):52-54.
  [4]李凌露.VC++开发文档自动化生成系统[J].中国电力教育,2007(1):219-221.
  [5]舒谷生.试题库基于Word标签定义试题的策略[J].湖南城市学院学报,2012,21(3):72-74.
  [6]刘东玉,尹照武,邱超.基于WordVBA的文档规范化软件设计与实现.软件导刊[J].2008,7(11):25-27.

www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
  本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/ CSSCI核心/医学投稿辅导/职称投稿辅导。

投稿邮箱:fabiaoba365@126.com
 在线咨询: 投稿辅导275774677投稿辅导1003180928
 在线咨询: 投稿辅导610071587投稿辅导1003160816
 联系电话:18796993035

联系方式
李老师QQ:发表吧客服610071587 陈老师QQ:发表吧客服275774677 刘老师QQ:发表吧客服1003160816 张老师QQ:发表吧客服1003180928 联系电话:18796993035 投稿邮箱:fabiaoba365@126.com
期刊鉴别
  • 刊物名称:
  • 检索网站:
热门期刊
发表吧友情提醒

近来发现有些作者论文投稿存在大量剽窃、抄袭行为,“发表吧”对此类存在大量剽窃、抄袭的论文已经停止编辑、推荐。同时我们也提醒您,当您向“发表吧”投稿时请您一定要保证论文的原创性、唯一性,这既是对您自己负责,更是对他人的尊敬。

此类投稿的论文如果发表之后,对您今后的人生和事业将造成很大的麻烦,后果不堪设想,请您一定要慎重,三思而后行。

如因版权问题引起争议或任何其他原因,“发表吧”不承担任何法律责任,侵权法律责任概由剽窃、抄袭者本人承担。

 
QQ在线咨询
论文刊登热线:
137-7525-9981
微信号咨询:
fabiaoba-com

友情链接

申请链接