使用.Net 操作Word
摘要:很多朋友在使用Office三大件做文档报告时,都会发现每天做的工作都是十分的繁琐和重复,要是有一款程序自动化生成word文档,那么是不是可以减轻我们的工作量,为公司节约工作量呢,并且还能减少出错率。下面用一个实例来讲解:简历自动生成软件。
- 关键字
- VB.NET
- 操作Word,Excel
- Winform
- C#.net
说明:使用VS2012创建的程序。在类库中需要引用以下DLL。
- 注意
- 名称 Microsoft.Office.Interop.Word
- 开发工具vs2012
(一) 新建程序
在VS中搭建如下界面
(二) 添加代码
代码块
/// <summary>
/// 生成简历
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnReport_Click(object sender, EventArgs e)
{
string TemplateFile = System.IO.Path.Combine(Application.StartupPath, @"模板\简历表.doc");
//判断模板文件是否存在, 如果不存在则终止程序继续运行
if (System.IO.File.Exists(TemplateFile) == false) { MessageBox.Show("找不到模板文件 : " + TemplateFile); }
/// <summary>
/// Office 操作函数 wordClass 类
/// </summary>
OfficeClass.wordClass Word = new OfficeClass.wordClass();
Word.NewCom(true);//激活Word
//将两个字符串组合成一个路径。
//从模板新建一个 Word 文件
Word.NewDocWithModel(TemplateFile, true);
//将当前线程挂起一段时间, 以待 Word 文件完成加载
System.Threading.Thread.Sleep(1000);
//写入主题
Word.GotoBookMark("theme");//跳转到这个书签
Word.InsertText(TbxTheme.Text);//写入文本
#region 关于代码 GotoSelectTableInsText 的解释
/* Word.GotoSelectTableInsText(1, 3,TbxName.Text);
* 此种书签定位数据插入法是和单个书签定位插入法不同之处在于,
* 此种方法是跳转到一个书签, 而这个书签的指定的内容必须是一个范围, 此范围内包含有 X 行和 X 列,
* 然后找到此范围书签内的 X 行 X 列来进行数据插入
*/
#endregion
//写入简历基本信息
#region 开始写入数据到基本资料表格, 第一个
Word.GotoBookMark("table1");//跳转到这个书签
Word.GotoSelectTableInsText(1, 2, TbxName.Text); //姓名
Word.GotoSelectTableInsText(2, 2,TbxAge.Text); //年龄
Word.GotoSelectTableInsText(3, 2,TbxAddress.Text); //籍贯
Word.GotoSelectTableInsText(4, 2,TbxHealth.Text); //健康状况
Word.GotoSelectTableInsText(1, 4, TbxSex.Text); //性别
Word.GotoSelectTableInsText(2,