C#操作Office.word(二)

在上一篇文章"C#操作Office.word(一)"中我们讲述了如何使用VS2010引用COM中Miscrosoft Word 14.0 Object Library实现创建文档,而这篇文章将讲述如何添加表格和图片,因为我在C#联系数据库做销售系统中需要打印表单,,我想以图表形式显示在word中,同时生成相应的饼状图或柱状图,所以才有查阅了相关资料,完成文章,供大家分享。其中使用openFileDialog控件也是希望大家学习了解下。

一. 界面设置

在界面上增加一个按钮,点击这个按钮,就能把一个表格和一幅图片插入到word中。为了简单,这里我们把表格和图片的设置直接写在源代码中。

二. 源代码

1.引用空间

//引用word对象类库和命名空间
using MSWord = Microsoft.Office.Interop.Word;
using System.IO;
using System.Reflection;

2.添加外部变量

object path;                      //声明文件路径变量
MSWord.Application wordApp; //声明word应用程序变量
MSWord.Document worddoc; //声明word文档变量

3.插入表格和图片

点击"创建"按钮在生成的函数create_Click(object sender, EventArgs e)中添加实现向word中插入表格和图片的代码,如下:

private void btnImg_Click(object sender, EventArgs e)
{
//表格的行数和列数
Int32 rowNum = 4;
Int32 colNum = 4;
//图片的路径
string picturePath = "E:\\hand.bmp"; //初始化变量
object Nothing = Missing.Value; //表示缺少的值
//object format = MSWord.WdSaveFormat.wdFormatDocumentDefault; //格式docx
object format = MSWord.WdSaveFormat.wdFormatDocument; //格式doc
wordApp = new MSWord.ApplicationClass(); //声明一个wordAPP对象
worddoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
//定义word文档中表格
MSWord.Table table = worddoc.Tables.Add(wordApp.Selection.Range,
rowNum, colNum,
ref Nothing, ref Nothing); //定义一个表格对象 table.Borders.Enable = 1; //默认表格没有边框
//填充表格中内容
for (int i = 1; i <= rowNum; i++) //string转换int型
{
for (int j = 1; j <= colNum; j++)
{
table.Cell(i, j).Range.Text = "(" + i + "行," + j + "列)";
}
}
//定义插入图片是否为外部链接
Object linktofile = true;
Object savedocument = true;
Object range = worddoc.Paragraphs.Last.Range; //定义图片插入word位置 worddoc.InlineShapes.AddPicture(picturePath, ref linktofile, ref savedocument, ref range);
//保存文档
path = "E:" + "\\" + "hand"; //设置文件保存路劲 worddoc.SaveAs(ref path, ref format, ref Nothing, ref Nothing,
ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing,
ref Nothing, ref Nothing, ref Nothing, ref Nothing);
//关闭文档
worddoc.Close(ref Nothing, ref Nothing, ref Nothing); //关闭worddoc文档对象
wordApp.Quit(ref Nothing, ref Nothing, ref Nothing); //关闭wordApp组对象 MessageBox.Show("文档创建成功!"); }//btnCreate_Click

三. 运行结果

点击“创建”后,它会在E盘下创建一个hand.doc的word文档,同时填写内容如下图所示:

C#操作Office.word(二)

四. 补充知识

其中在插入图片中我使用了一个InlineShapes.AddPicture函数,它相应的使用方法如下图所示:

C#操作Office.word(二)

上一篇:vb6里面dim和set的区别


下一篇:Dim Loop 出现结果不同