在上一篇文章"C# VS2012创建word文档.(一)"中我们讲述了如何使用VS2012引用COM中Miscrosoft Word 14.0 Object Library实现创建文档,而这篇文章将讲述如何添加表格和图片,因为我在C#联系数据库做销售系统中需要打印表单,我想以图表形式显示在word中,同时生成相应的饼状图或柱状图,所以才有查阅了相关资料,完成文章,供大家分享.其中使用openFileDialog控件也是希望大家学习了解下.
一.界面设置
设计界面如下图所示,其中对用的5个textBox和2个button控件在图中标明,同时添加一个openFileDialog控件,在插入图片时点击"选择"按钮实现打开一个选择图片窗体,选择后在textBox5只读中显示相应图片的路径.
二.源代码
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.通过openFileDialog实现显示打开图片路径
点击"选择"按钮在生成的button2_Click(object sender, EventArgs e)函数中添加如下代码,其中openFileDialog1.Filter是设置打开文件类型,此处为jpg和bmp型,然后把选择的图片路径赋值给textBox5.代码如下图所示:
//点击"选择"添加图片 textBox5为只读
private void button2_Click(object sender, EventArgs e)
{
//定义openFileDialog打开图片对话框文件类型
openFileDialog1.Filter = "BMP格式图片(*.bmp)|*.bmp|JPG格式图片(*.jpg)|*.jpg";
if (openFileDialog1.ShowDialog() == DialogResult.OK) //点击"确定"按钮执行
{
if (openFileDialog1.FileName != "") //图片路径赋值给textBox5
{
this.textBox5.Text = openFileDialog1.FileName;
}
}
}
运行程序后,添加图片时openFileDialog的效果如下图所示,右下角有两种图片选择格式供选择:
4.插入表格和图片
点击"创建"按钮在生成的函数button1_Click(object sender, EventArgs e)中添加实现向word中插入表格和图片的代码,如下:
//点击"创建"按钮实现创建word文件
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox2.Text == "")
{
MessageBox.Show("请输入路径和文档名信息");
}
else
{
//初始化变量
object Nothing = Missing.Value; //表示缺少的值
object format = MSWord.WdSaveFormat.wdFormatDocumentDefault; //格式docx
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,
Convert.ToInt32(textBox3.Text),Convert.ToInt32(textBox4.Text),
ref Nothing,ref Nothing); //定义一个表格对象
table.Borders.Enable = 1; //默认表格没有边框
//填充表格中内容
for (int i = 1; i <= Convert.ToInt32(textBox3.Text); i++) //string转换int型
{
for (int j = 1; j <= Convert.ToInt32(textBox4.Text); j++)
{
table.Cell(i, j).Range.Text= "(" + i + "行," + j + "列)" ;
}
}
//定义插入图片是否为外部链接
Object linktofile = false;
Object savedocument = true;
Object range = worddoc.Paragraphs.Last.Range; //定义图片插入word位置
worddoc.InlineShapes.AddPicture(textBox5.Text,ref linktofile,ref savedocument,ref range);
//保存文档
path = textBox2.Text + "\\" + textBox1.Text; //设置文件保存路劲
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("文档创建成功!");
}
}
三.运行结果
点击运行,填写如下图所示的内容,其中插入表格函数行数=8,列数=5并插入图片:
点击“创建”后,它会在E盘下创建一个test.docx的word文档,同时填写内容如下图所示:
四.补充知识
其中在插入图片中我使用了一个InlineShapes.AddPicture函数,它相应的使用方法如下图所示,来自http://technet.microsoft.com/zh-cn/library/ff822636
五.总结
这篇文章主要是使用C#向创建word文档中添加表格和图片的操作,同时如果怎样使用C#创建word还有不明白的可以参考前一篇文章http://blog.csdn.net/eastmount/article/details/11235577同时该文章有些内容思想来自刘丽霞等编写的《C#范例开发大全》,感谢作者,同时希望大家能看看这本书籍,最后希望文章对大家有帮助,同时有不足或错误的地方,见谅!
(By:Eastmount 2013-9-8 夜1点http://blog.csdn.net/eastmount/)
分享到:
相关推荐
通过C#调用NPOI组件生成Word文档,在生成Word文档过程中插入表格以及插入图片,使用到了C#,扩展等技术
C#操作Word文档(根据模板生成文档、替换内容、插入表格等)
//表格增加一行 doc.Tables[1].Cell(i, 1).Range.Text = "250297";//卡号 doc.Tables[1].Cell(i, 2).Range.Text = "COM12";//串口号 doc.Tables[1].Cell(i, 3).Range.Text = "100";//发送指令条数 doc.Tables[1]...
c#创建Word文档(可插入数据,表格,文字,图片).pdf
包括: C#操作Word.doc C#操作Word表格.doc C#操作WORD辅助类.txt c#操作word模板插入文字...C#操作Word在Word文档中插入图片.docx C#用word模板做文档.doc 收集的C#操作Word的各种代码。直接复制粘贴到程序里面即可。
主要介绍了C#采用OpenXml给word里面插入图片的方法,参考了MSDN官网的示例加以说明,是OpenXml操作Word的一个非常重要的应用,需要的朋友可以参考下
C#对Word文档的创建、插入表格、设置样式等操作2010-01-19 14:13(例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法)
C# WPS操作源代码,在文档页眉添加图片,内附说明文档,COM调用WPS,在文档页眉中添加图片,希望你帮到需要的人
C#得到word里面的书签,并向书签插入内容,将DateGridView内容作为表格插入到word书签中。
下面的例子中包括C#对Word文档的创建、插入表格、设置样式等操作: (例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法) public string CreateWordFile(string CheckedInfo) ...
如何用C#编程实现动态生成Word文档并填充数据的效果呢?要使用C#操作word,首先要添加引用: ... 2、在.cs文件中添加 using Word;... 下面的例子中包括C#对Word文档的创建、插入表格、设置样式等操作:
C# 可以读写word,可以插入表格,用标签写入word文件 1. 通过模板创建新文档 2. 保存新文件 3、 在书签处插入值 4插入表格,bookmark书签 5、修改word样式
C#按指定格式输出Word表格文档,新建word,插入文字、图片、图表等
C#操作word文档。包括创建、保存、文字、图片、表格、页眉、页脚等。其中表格还包括边框,合并单元格,插入图片。其他操作必须先创建word。代码块都有,具体应用需要修改。
本方法包括了生成word文档的方法以及在wrod文档中插入table表格
Aspose.words 实现插入文件,页面设置,替换 表格操作,分页等
C#实现通过模板自动创建Word文档的方法,详细介绍了如何插入书签,再通过书签插入文字,图片,表格等等。付有详细代码。
例子中包括C#对Word文档的创建、插入表格、设置样式等操作:
本资源为一个无需office环境,使用开源库NPOI操作word、excel的样例程序,使用C#语言。内含NPOI库,可直接运行。在vs2019中测试通过。 程序实现的功能: 读取excel表格中的数据, 将数据转换成datatable, ...