zoukankan      html  css  js  c++  java
  • 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文档,同时填写内容如下图所示:

    四. 补充知识

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

  • 相关阅读:
    @ResponseBody和@RequestBoby的作用
    项目Alpha冲刺Day9
    项目Alpha冲刺Day8
    项目Alpha冲刺Day7
    设计模式第三次作业
    项目Alpha冲刺Day6
    树莓派历程笔记
    项目Alpha冲刺Day5
    django获取ip与数据重复性判定
    在django模板中添加jquery
  • 原文地址:https://www.cnblogs.com/stemon/p/4617550.html
Copyright © 2011-2022 走看看