C#中usingword的使用方法

这篇文章主要介绍“C#中using word的使用方法”,在日常操作中,相信很多人在C#中using word的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#中using word的使用方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟空间、营销软件、网站建设、阳春网站维护、网站推广。

在C#中using word的命名空间,大多是利用Microsoft.Office.Interop.Word来生成word的方法。以下是一些C#中using word的不同用法

将现有的C#中using word劳动成果放在这里。有时间在加以完善!

一、添加页眉

view plaincopy to clipboardprint?  using System;     using System.Collections.Generic;     using System.ComponentModel;     using System.Data;     using System.Linq;     using System.Text;     using Word = Microsoft.Office.Interop.Word;     using System.IO;     using System.Reflection;     using Microsoft.Office.Interop.Word;             namespace WordCreateDLL     {        public class AddHeader         {             public static void AddSimpleHeader(Application WordApp,string HeaderText)             {                 //添加页眉                 WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;                 WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;                 WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(HeaderText);                 WordApp.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;//设置左对齐                 WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;             }             public static void AddSimpleHeader(Application WordApp, string HeaderText, WdParagraphAlignment wdAlign)             {                 //添加页眉                 WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;                 WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;                 WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(HeaderText);                 //WordApp.Selection.Font.Color = WdColor.wdColorDarkRed;//设置字体颜色                 WordApp.Selection.ParagraphFormat.Alignment = wdAlign;//设置左对齐                 WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;             }             public static void AddSimpleHeader(Application WordApp, string HeaderText, WdParagraphAlignment wdAlign,WdColor fontcolor,float fontsize)             {                 //添加页眉                 WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;                 WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;                 WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(HeaderText);                 WordApp.Selection.Font.Color =fontcolor;//设置字体颜色                 WordApp.Selection.Font.Size = fontsize;//设置字体大小                 WordApp.Selection.ParagraphFormat.Alignment = wdAlign;//设置对齐方式                 WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;             }                 }     }    using System;  using System.Collections.Generic;  using System.ComponentModel;  using System.Data;  using System.Linq;  using System.Text;  using Word = Microsoft.Office.Interop.Word;  using System.IO;  using System.Reflection;  using Microsoft.Office.Interop.Word;    namespace WordCreateDLL  {     public class AddHeader      {          public static void AddSimpleHeader(Application WordApp,string HeaderText)          {              //添加页眉              WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;              WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;              WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(HeaderText);              WordApp.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;//设置左对齐              WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;          }          public static void AddSimpleHeader(Application WordApp, string HeaderText, WdParagraphAlignment wdAlign)          {              //添加页眉              WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;              WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;              WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(HeaderText);              //WordApp.Selection.Font.Color = WdColor.wdColorDarkRed;//设置字体颜色              WordApp.Selection.ParagraphFormat.Alignment = wdAlign;//设置左对齐              WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;          }          public static void AddSimpleHeader(Application WordApp, string HeaderText, WdParagraphAlignment wdAlign,WdColor fontcolor,float fontsize)          {              //添加页眉              WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;              WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;              WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(HeaderText);              WordApp.Selection.Font.Color =fontcolor;//设置字体颜色              WordApp.Selection.Font.Size = fontsize;//设置字体大小              WordApp.Selection.ParagraphFormat.Alignment = wdAlign;//设置对齐方式              WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;          }      }  }

二、插入图片

view plaincopy to clipboardprint?  using System;     using System.Collections.Generic;     using System.ComponentModel;     using System.Data;     using System.Linq;     using System.Text;     using Word = Microsoft.Office.Interop.Word;     using System.IO;     using System.Reflection;     using Microsoft.Office.Interop.Word;         namespace WordCreateDLL     {       public class AddPic         {           public static void AddSimplePic(Document WordDoc, string FName, float Width, float Height, object An, WdWrapType wdWrapType)           {               //插入图片               string FileName = @FName;//图片所在路径               object LinkToFile = false;               object SaveWithDocument = true;               object Anchor = An;               WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor);               WordDoc.Application.ActiveDocument.InlineShapes[1].Width = Width;//图片宽度               WordDoc.Application.ActiveDocument.InlineShapes[1].Height = Height;//图片高度               //将图片设置为四周环绕型               Microsoft.Office.Interop.Word.Shape s = WordDoc.Application.ActiveDocument.InlineShapes[1].ConvertToShape();               s.WrapFormat.Type = wdWrapType;           }             }     }    using System;  using System.Collections.Generic;  using System.ComponentModel;  using System.Data;  using System.Linq;  using System.Text;  using Word = Microsoft.Office.Interop.Word;  using System.IO;  using System.Reflection;  using Microsoft.Office.Interop.Word;   namespace WordCreateDLL  {    public class AddPic      {        public static void AddSimplePic(Document WordDoc, string FName, float Width, float Height, object An, WdWrapType wdWrapType)        {            //插入图片            string FileName = @FName;//图片所在路径            object LinkToFile = false;            object SaveWithDocument = true;            object Anchor = An;            WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor);            WordDoc.Application.ActiveDocument.InlineShapes[1].Width = Width;//图片宽度            WordDoc.Application.ActiveDocument.InlineShapes[1].Height = Height;//图片高度            //将图片设置为四周环绕型            Microsoft.Office.Interop.Word.Shape s = WordDoc.Application.ActiveDocument.InlineShapes[1].ConvertToShape();            s.WrapFormat.Type = wdWrapType;        }       }  }

三、插入表格

view plaincopy to clipboardprint?  using System;     using System.Collections.Generic;     using System.ComponentModel;     using System.Data;     using System.Linq;     using System.Text;     using Word = Microsoft.Office.Interop.Word;     using System.IO;     using System.Reflection;     using Microsoft.Office.Interop.Word;         namespace WordCreateDLL     {        public class AddTable         {            public static void AddSimpleTable(Application WordApp, Document WordDoc, int numrows, int numcolumns, WdLineStyle outStyle, WdLineStyle intStyle)            {                Object Nothing = System.Reflection.Missing.Value;                //文档中创建表格                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, numrows, numcolumns, ref Nothing, ref Nothing);                //设置表格样式                newTable.Borders.OutsideLineStyle = outStyle;                newTable.Borders.InsideLineStyle = intStyle;                newTable.Columns[1].Width = 100f;                newTable.Columns[2].Width = 220f;                newTable.Columns[3].Width = 105f;                    //填充表格内容                newTable.Cell(1, 1).Range.Text = "产品详细信息表";                newTable.Cell(1, 1).Range.Bold = 2;//设置单元格中字体为粗体                //合并单元格                newTable.Cell(1, 1).Merge(newTable.Cell(1, 3));                WordApp.Selection.Cells.VerticalAlignment =WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中                WordApp.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;//水平居中                    //填充表格内容                newTable.Cell(2, 1).Range.Text = "产品基本信息";                newTable.Cell(2, 1).Range.Font.Color =WdColor.wdColorDarkBlue;//设置单元格内字体颜色                //合并单元格                newTable.Cell(2, 1).Merge(newTable.Cell(2, 3));                WordApp.Selection.Cells.VerticalAlignment =WdCellVerticalAlignment.wdCellAlignVerticalCenter;                    //填充表格内容                newTable.Cell(3, 1).Range.Text = "品牌名称:";                newTable.Cell(3, 2).Range.Text = "品牌名称:";                //纵向合并单元格                newTable.Cell(3, 3).Select();//选中一行                object moveUnit = WdUnits.wdLine;                object moveCount = 5;                object moveExtend = WdMovementType.wdExtend;                WordApp.Selection.MoveDown(ref moveUnit, ref moveCount, ref moveExtend);                WordApp.Selection.Cells.Merge();                        //插入图片                string FileName = @"C:\1.jpg";//图片所在路径                object Anchor = WordDoc.Application.Selection.Range;                float Width = 200f;//图片宽度                float Height = 200f;//图片高度                    //将图片设置为四周环绕型                WdWrapType wdWrapType = Microsoft.Office.Interop.Word.WdWrapType.wdWrapSquare;                AddPic.AddSimplePic(WordDoc, FileName, Width, Height, Anchor, wdWrapType);                    newTable.Cell(12, 1).Range.Text = "产品特殊属性";                newTable.Cell(12, 1).Merge(newTable.Cell(12, 3));                //在表格中增加行                WordDoc.Content.Tables[1].Rows.Add(ref Nothing);            }                 }     }    using System;  using System.Collections.Generic;  using System.ComponentModel;  using System.Data;  using System.Linq;  using System.Text;  using Word = Microsoft.Office.Interop.Word;  using System.IO;  using System.Reflection;  using Microsoft.Office.Interop.Word;   namespace WordCreateDLL  {     public class AddTable      {         public static void AddSimpleTable(Application WordApp, Document WordDoc, int numrows, int numcolumns, WdLineStyle outStyle, WdLineStyle intStyle)         {             Object Nothing = System.Reflection.Missing.Value;             //文档中创建表格             Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, numrows, numcolumns, ref Nothing, ref Nothing);             //设置表格样式             newTable.Borders.OutsideLineStyle = outStyle;             newTable.Borders.InsideLineStyle = intStyle;             newTable.Columns[1].Width = 100f;             newTable.Columns[2].Width = 220f;             newTable.Columns[3].Width = 105f;              //填充表格内容             newTable.Cell(1, 1).Range.Text = "产品详细信息表";             newTable.Cell(1, 1).Range.Bold = 2;//设置单元格中字体为粗体             //合并单元格             newTable.Cell(1, 1).Merge(newTable.Cell(1, 3));             WordApp.Selection.Cells.VerticalAlignment =WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中             WordApp.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;//水平居中              //填充表格内容             newTable.Cell(2, 1).Range.Text = "产品基本信息";             newTable.Cell(2, 1).Range.Font.Color =WdColor.wdColorDarkBlue;//设置单元格内字体颜色             //合并单元格             newTable.Cell(2, 1).Merge(newTable.Cell(2, 3));             WordApp.Selection.Cells.VerticalAlignment =WdCellVerticalAlignment.wdCellAlignVerticalCenter;              //填充表格内容             newTable.Cell(3, 1).Range.Text = "品牌名称:";             newTable.Cell(3, 2).Range.Text = "品牌名称:";             //纵向合并单元格             newTable.Cell(3, 3).Select();//选中一行             object moveUnit = WdUnits.wdLine;             object moveCount = 5;             object moveExtend = WdMovementType.wdExtend;             WordApp.Selection.MoveDown(ref moveUnit, ref moveCount, ref moveExtend);             WordApp.Selection.Cells.Merge();               //插入图片             string FileName = @"C:\1.jpg";//图片所在路径             object Anchor = WordDoc.Application.Selection.Range;             float Width = 200f;//图片宽度             float Height = 200f;//图片高度              //将图片设置为四周环绕型             WdWrapType wdWrapType = Microsoft.Office.Interop.Word.WdWrapType.wdWrapSquare;             AddPic.AddSimplePic(WordDoc, FileName, Width, Height, Anchor, wdWrapType);              newTable.Cell(12, 1).Range.Text = "产品特殊属性";             newTable.Cell(12, 1).Merge(newTable.Cell(12, 3));             //在表格中增加行             WordDoc.Content.Tables[1].Rows.Add(ref Nothing);         }      }  }

四、插入chart

view plaincopy to clipboardprint?  using System;     using System.Collections.Generic;     using System.ComponentModel;     using System.Data;     using System.Linq;     using System.Text;     using Word = Microsoft.Office.Interop.Word;     using System.IO;     using System.Reflection;     using Microsoft.Office.Interop.Word;     using Microsoft.Office.Interop.Graph;     using System.Windows.Forms;     using System.Drawing;             namespace WordCreateDLL     {         public class AddChart         {             public static void AddSimpleChart(Document WordDoc, Word.Application WordApp, Object oEndOfDoc, string [,]data)             {                 //插入chart                   object oMissing = System.Reflection.Missing.Value;                 Word.InlineShape oShape;                 object oClassType = "MSGraph.Chart.8";                 Word.Range wrdRng = WordDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;                 oShape = wrdRng.InlineShapes.AddOLEObject(ref oClassType, ref oMissing,                     ref oMissing, ref oMissing, ref oMissing,                     ref oMissing, ref oMissing, ref oMissing);                     //Demonstrate use of late bound oChart and oChartApp objects to                 //manipulate the chart object with MSGraph.                 object oChart;                 object oChartApp;                 oChart = oShape.OLEFormat.Object;                 oChartApp = oChart.GetType().InvokeMember("Application",BindingFlags.GetProperty, null, oChart, null);                     //Change the chart type to Line.                 object[] Parameters = new Object[1];                 Parameters[0] = 4; //xlLine = 4                 oChart.GetType().InvokeMember("ChartType", BindingFlags.SetProperty,                     null, oChart, Parameters);                         Chart objChart = (Chart)oShape.OLEFormat.Object;                 objChart.ChartType = XlChartType.xlColumnClustered;                     //绑定数据                 DataSheet dataSheet;                 dataSheet = objChart.Application.DataSheet;                 int rownum=data.GetLength(0);                 int columnnum=data.GetLength(1);                 for(int i=1;i<=rownum;i++ )                     for (int j = 1; j <= columnnum; j++)                     {                         dataSheet.Cells[i,j] =data[i-1,j-1];                               }                                objChart.Application.Update();                 oChartApp.GetType().InvokeMember("Update",                     BindingFlags.InvokeMethod, null, oChartApp, null);                 oChartApp.GetType().InvokeMember("Quit",                     BindingFlags.InvokeMethod, null, oChartApp, null);                     //设置大小                 oShape.Width = WordApp.InchesToPoints(6.25f);                 oShape.Height = WordApp.InchesToPoints(3.57f);                 }         }     }    using System;  using System.Collections.Generic;  using System.ComponentModel;  using System.Data;  using System.Linq;  using System.Text;  using Word = Microsoft.Office.Interop.Word;  using System.IO;  using System.Reflection;  using Microsoft.Office.Interop.Word;  using Microsoft.Office.Interop.Graph;  using System.Windows.Forms;  using System.Drawing;    namespace WordCreateDLL  {      public class AddChart      {          public static void AddSimpleChart(Document WordDoc, Word.Application WordApp, Object oEndOfDoc, string [,]data)          {              //插入chart                object oMissing = System.Reflection.Missing.Value;              Word.InlineShape oShape;              object oClassType = "MSGraph.Chart.8";              Word.Range wrdRng = WordDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;              oShape = wrdRng.InlineShapes.AddOLEObject(ref oClassType, ref oMissing,                  ref oMissing, ref oMissing, ref oMissing,                  ref oMissing, ref oMissing, ref oMissing);               //Demonstrate use of late bound oChart and oChartApp objects to              //manipulate the chart object with MSGraph.              object oChart;              object oChartApp;              oChart = oShape.OLEFormat.Object;              oChartApp = oChart.GetType().InvokeMember("Application",BindingFlags.GetProperty, null, oChart, null);               //Change the chart type to Line.              object[] Parameters = new Object[1];              Parameters[0] = 4; //xlLine = 4              oChart.GetType().InvokeMember("ChartType", BindingFlags.SetProperty,                  null, oChart, Parameters);                Chart objChart = (Chart)oShape.OLEFormat.Object;              objChart.ChartType = XlChartType.xlColumnClustered;               //绑定数据              DataSheet dataSheet;              dataSheet = objChart.Application.DataSheet;              int rownum=data.GetLength(0);              int columnnum=data.GetLength(1);              for(int i=1;i<=rownum;i++ )                  for (int j = 1; j <= columnnum; j++)                  {                      dataSheet.Cells[i,j] =data[i-1,j-1];                         }                          objChart.Application.Update();              oChartApp.GetType().InvokeMember("Update",                  BindingFlags.InvokeMethod, null, oChartApp, null);              oChartApp.GetType().InvokeMember("Quit",                  BindingFlags.InvokeMethod, null, oChartApp, null);               //设置大小              oShape.Width = WordApp.InchesToPoints(6.25f);              oShape.Height = WordApp.InchesToPoints(3.57f);          }      }  }

C#中using word测试程序

view plaincopy to clipboardprint?  private void button3_Click(object sender, EventArgs e)            {                        object oMissing = System.Reflection.Missing.Value;                object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */                   //Start Word and create a new document.                Word.Application oWord;                Word.Document oDoc;                oWord = new Word.Application();                oWord.Visible = true;                oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,                    ref oMissing, ref oMissing);                    ////添加页眉                String HeaderText = "石化盈科";               // AddHeader.AddSimpleHeader(oWord, HeaderText);                WdParagraphAlignment wdAlign = WdParagraphAlignment.wdAlignParagraphCenter;                WdColor fontcolor = WdColor.wdColorBlue;                float fontsize = 10;                //AddHeader.AddSimpleHeader(oWord, HeaderText, wdAlign);                AddHeader.AddSimpleHeader(oWord, HeaderText, wdAlign,fontcolor,fontsize);                    //Insert a paragraph at the beginning of the document.                Word.Paragraph oPara1;                oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing);                oPara1.Range.Text = "Heading 1";                oPara1.Range.Font.Bold = 1;                oPara1.Format.SpaceAfter = 24;    //24 pt spacing after paragraph.                oPara1.Range.InsertParagraphAfter();                    //Insert a paragraph at the end of the document.                Word.Paragraph oPara2;                object oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;                oPara2 = oDoc.Content.Paragraphs.Add(ref oRng);                oPara2.Range.Text = "Heading 2";                oPara2.Format.SpaceAfter = 6;                oPara2.Range.InsertParagraphAfter();                    //插入文字                Word.Paragraph oPara3;                oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;                oPara3 = oDoc.Content.Paragraphs.Add(ref oRng);                oPara3.Range.Text = "This is a sentence of normal text. Now here is a table:";                oPara3.Range.Font.Bold = 0;                oPara3.Format.SpaceAfter = 24;                oPara3.Range.InsertParagraphAfter();                    string text = "zhangruichao ";                WdColor textcolor = fontcolor;                float textsize = 12;                AddLine.AddSimpLine(oDoc, oEndOfDoc, oRng, text, textcolor, textsize);                        //插入表格                WdLineStyle OutStyle = WdLineStyle.wdLineStyleThickThinLargeGap;                WdLineStyle InStyle = WdLineStyle.wdLineStyleSingle;                AddTable.AddSimpleTable(oWord, oDoc, 12, 3, OutStyle, InStyle);                    //插入分页                Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;                object oCollapseEnd = Word.WdCollapseDirection.wdCollapseEnd;                object oPageBreak = Word.WdBreakType.wdPageBreak;                wrdRng.Collapse(ref oCollapseEnd);                wrdRng.InsertBreak(ref oPageBreak);                wrdRng.Collapse(ref oCollapseEnd);                wrdRng.InsertAfter("We're now on page 2. Here's my chart:");                wrdRng.InsertParagraphAfter();                    //Insert a chart.                string[,] data=new string[4,5];                    data[0,1] = "第一月";                data[0, 2] = "第二月";                data[0, 3] = "第三月";                data[0, 4] = "第四月";                data[1,0] = "东部";                data[1,1] = "50";                data[1,2] = "50";                data[1,3] = "40";                data[1,4] = "50";                  data[2,0] = "西部";                data[2,1] = "60";                data[2,2] = "60";                data[2,3] = "70";                data[2,4] = "80";                    //data[3,6] = "0";                data[3,0] = "中部";                data[3,1] = "50";                data[3,2] = "50";                data[3,3] = "40";                data[3,4] = "50";                  AddChart.AddSimpleChart(oDoc, oWord, oEndOfDoc, data);                    wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;                wrdRng.InsertParagraphAfter();                wrdRng.InsertAfter("THE END.");                    //Close this form.                this.Close();            }

到此,关于“C#中using word的使用方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站名称:C#中usingword的使用方法
网站路径:http://scyanting.com/article/gshigg.html