基于C#的Word 文档自动导出模块的设计与实现(2)
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