C#操作word文档

时间:2022-11-06 06:26:23

 

1.c#操作word 在指定书签插入文字或者图片
C#操作word文档C#操作word文档
 1C#操作word文档using Word = Microsoft.Office.Interop.Word;
 2C#操作word文档
 3C#操作word文档object Nothing = System.Reflection.Missing.Value;
 4C#操作word文档         object format = Word.WdSaveFormat.wdFormatDocument;
 5C#操作word文档         Word.Application wordApp = new Word.ApplicationClass();
 6C#操作word文档         //打开网页选择内容
 7C#操作word文档         object srcFileName = @"c:/new1.doc"//里面有图片
 8C#操作word文档          Word.Document wordDoc2 = wordApp.Documents.Open(ref srcFileName, ref format, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
 9C#操作word文档            try
10C#操作word文档C#操作word文档         {
11C#操作word文档             object bookmarkName = "jlr";
12C#操作word文档             //Word.Range rng = wordDoc2.Bookmarks.get_Item(ref bookmarkName).Range;
13C#操作word文档             //rng.Text = "newText";
14C#操作word文档             //object range = rng;
15C#操作word文档             //wordDoc2.Bookmarks.Add("jlr", ref range);
16C#操作word文档             wordDoc2.Bookmarks.get_Item(ref bookmarkName).Select();
17C#操作word文档             wordApp.Selection.InlineShapes.AddPicture("c://1.jpg"ref Nothing, ref Nothing, ref Nothing);
18C#操作word文档             wordDoc2.Save();
19C#操作word文档
20C#操作word文档         }

21C#操作word文档C#操作word文档         catch { }
22C#操作word文档         finally
23C#操作word文档C#操作word文档         {
24C#操作word文档             //关闭网页wordDoc2
25C#操作word文档             wordDoc2.Close(ref Nothing, ref Nothing, ref Nothing);
26C#操作word文档             if (wordDoc2 != null)
27C#操作word文档C#操作word文档             {
28C#操作word文档                 System.Runtime.InteropServices.Marshal.ReleaseComObject(wordDoc2);
29C#操作word文档                 wordDoc2 = null;
30C#操作word文档             }

31C#操作word文档             //关闭wordApp
32C#操作word文档             wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
33C#操作word文档             if (wordApp != null)
34C#操作word文档C#操作word文档             {
35C#操作word文档                 System.Runtime.InteropServices.Marshal.ReleaseComObject(wordApp);
36C#操作word文档                 wordApp = null;
37C#操作word文档             }

38C#操作word文档         }

39C#操作word文档         GC.Collect();
40C#操作word文档
41C#操作word文档

2.C#替换Word模版中的标签内容的例子
C#操作word文档C#操作word文档Code

3.用C#实现在Word文档中搜索文本
C#操作word文档C#操作word文档Code

4.C#动态生成Word文档并填充数据
C#操作word文档C#操作word文档
  1C#操作word文档using System;
  2C#操作word文档using System.Collections.Generic;
  3C#操作word文档using System.Text;
  4C#操作word文档using System.IO;
  5C#操作word文档using Word;
  6C#操作word文档
  7C#操作word文档namespace CreateWordFile
  8C#操作word文档C#操作word文档{
  9C#操作word文档    class Program
 10C#操作word文档C#操作word文档    {
 11C#操作word文档        static void Main(string[] args)
 12C#操作word文档C#操作word文档        {
 13C#操作word文档            CreateWordFile("");
 14C#操作word文档        }

 15C#操作word文档
 16C#操作word文档        //下面的例子中包括C#对Word文档的创建、插入表格、设置样式等操作:
 17C#操作word文档
 18C#操作word文档        //(例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法)
 19C#操作word文档
 20C#操作word文档        public static string CreateWordFile(string CheckedInfo)
 21C#操作word文档C#操作word文档        {
 22C#操作word文档            string message = "";
 23C#操作word文档            try
 24C#操作word文档C#操作word文档            {
 25C#操作word文档                Object Nothing = System.Reflection.Missing.Value;
 26C#操作word文档                Directory.CreateDirectory("C:/CNSI"); //创建文件所在目录
 27C#操作word文档                string name = "CNSI_" + "53asdf" + ".doc";
 28C#操作word文档                object filename = "C://CNSI//" + name; //文件保存路径
 29C#操作word文档                //创建Word文档
 30C#操作word文档                Word.Application WordApp = new Word.ApplicationClass();
 31C#操作word文档                Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
 32C#操作word文档
 33C#操作word文档                //添加页眉
 34C#操作word文档                WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;
 35C#操作word文档                WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;
 36C#操作word文档                WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("[页眉内容]");
 37C#操作word文档                WordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight;//设置右对齐
 38C#操作word文档                WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;//跳出页眉设置
 39C#操作word文档
 40C#操作word文档                WordApp.Selection.ParagraphFormat.LineSpacing = 15f;//设置文档的行间距
 41C#操作word文档
 42C#操作word文档                //移动焦点并换行
 43C#操作word文档                object count = 14;
 44C#操作word文档                object WdLine = Word.WdUnits.wdLine;//换一行;
 45C#操作word文档                WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
 46C#操作word文档                WordApp.Selection.TypeParagraph();//插入段落
 47C#操作word文档
 48C#操作word文档                //文档中创建表格
 49C#操作word文档                Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, 123ref Nothing, ref Nothing);
 50C#操作word文档                //设置表格样式
 51C#操作word文档                newTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleThickThinLargeGap;
 52C#操作word文档                newTable.Borders.InsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
 53C#操作word文档                newTable.Columns[1].Width = 100f;
 54C#操作word文档                newTable.Columns[2].Width = 220f;
 55C#操作word文档                newTable.Columns[3].Width = 105f;
 56C#操作word文档
 57C#操作word文档                //填充表格内容
 58C#操作word文档                newTable.Cell(11).Range.Text = "产品详细信息表";
 59C#操作word文档                newTable.Cell(11).Range.Bold = 2;//设置单元格中字体为粗体
 60C#操作word文档                //合并单元格
 61C#操作word文档                newTable.Cell(11).Merge(newTable.Cell(13));
 62C#操作word文档                WordApp.Selection.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
 63C#操作word文档                WordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;//水平居中
 64C#操作word文档
 65C#操作word文档                //填充表格内容
 66C#操作word文档                newTable.Cell(21).Range.Text = "产品基本信息";
 67C#操作word文档                newTable.Cell(21).Range.Font.Color = Word.WdColor.wdColorDarkBlue;//设置单元格内字体颜色
 68C#操作word文档                //合并单元格
 69C#操作word文档                newTable.Cell(21).Merge(newTable.Cell(23));
 70C#操作word文档                WordApp.Selection.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
 71C#操作word文档
 72C#操作word文档                //填充表格内容
 73C#操作word文档                newTable.Cell(31).Range.Text = "品牌名称:";
 74C#操作word文档                newTable.Cell(32).Range.Text = "BrandName";
 75C#操作word文档                //纵向合并单元格
 76C#操作word文档                newTable.Cell(33).Select();//选中一行
 77C#操作word文档                object moveUnit = Word.WdUnits.wdLine;
 78C#操作word文档                object moveCount = 5;
 79C#操作word文档                object moveExtend = Word.WdMovementType.wdExtend;
 80C#操作word文档                WordApp.Selection.MoveDown(ref moveUnit, ref moveCount, ref moveExtend);
 81C#操作word文档                WordApp.Selection.Cells.Merge();
 82C#操作word文档                //插入图片
 83C#操作word文档                string FileName = "c://Winter.jpg";//图片所在路径
 84C#操作word文档                object LinkToFile = false;
 85C#操作word文档                object SaveWithDocument = true;
 86C#操作word文档                object Anchor = WordDoc.Application.Selection.Range;
 87C#操作word文档                WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor);
 88C#操作word文档                WordDoc.Application.ActiveDocument.InlineShapes[1].Width = 100f;//图片宽度
 89C#操作word文档                WordDoc.Application.ActiveDocument.InlineShapes[1].Height = 100f;//图片高度
 90C#操作word文档                //将图片设置为四周环绕型
 91C#操作word文档                Word.Shape s = WordDoc.Application.ActiveDocument.InlineShapes[1].ConvertToShape();
 92C#操作word文档                s.WrapFormat.Type = Word.WdWrapType.wdWrapSquare;
 93C#操作word文档
 94C#操作word文档                newTable.Cell(121).Range.Text = "产品特殊属性";
 95C#操作word文档                newTable.Cell(121).Merge(newTable.Cell(123));
 96C#操作word文档                //在表格中增加行
 97C#操作word文档                WordDoc.Content.Tables[1].Rows.Add(ref Nothing);
 98C#操作word文档
 99C#操作word文档                WordDoc.Paragraphs.Last.Range.Text = "文档创建时间:" + DateTime.Now.ToString();//“落款”
100C#操作word文档                WordDoc.Paragraphs.Last.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight;
101C#操作word文档
102C#操作word文档                //文件保存
103C#操作word文档                WordDoc.SaveAs(ref filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
104C#操作word文档                WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
105C#操作word文档                WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
106C#操作word文档                message = name + "文档生成成功,以保存到C:CNSI下";
107C#操作word文档            }

108C#操作word文档            catch
109C#操作word文档C#操作word文档            {
110C#操作word文档                message = "文件导出异常!";
111C#操作word文档                
112C#操作word文档            }

113C#操作word文档            Console.WriteLine(message);
114C#操作word文档            return message;
115C#操作word文档        }

116C#操作word文档

117C#操作word文档

5.C# 将Word,Excel转换成Html
C#操作word文档C#操作word文档Code

6.c# 实现Word联接Excel的MailMerge功能
C#操作word文档C#操作word文档Code

7.c#操作word表格
C#操作word文档C#操作word文档Code

8 .c#读取Word
C#操作word文档C#操作word文档
  1C#操作word文档//1:
  2C#操作word文档//对项目添加引用,Microsoft Word 11.0 Object //Library
  3C#操作word文档//2:
  4C#操作word文档//在程序中添加 using Word = Microsoft.Office.Interop.Word; 
  5C#操作word文档//3:
  6C#操作word文档//程序中添加
  7C#操作word文档Word.Application app = new Microsoft.Office.Interop.Word.Application(); //可以打开word程序
  8C#操作word文档Word.Document doc = null//一会要记录word打开的文档
  9C#操作word文档//word文档和word程序可不是一回事奥!
 10C#操作word文档4
 11C#操作word文档//一般来说,对于抽取word内容,用的方法很少
 12C#操作word文档C#操作word文档public override void openFile(object fileName){} //打开文档
 13C#操作word文档C#操作word文档public override object readPar(int i){} //读取word文档的第i段
 14C#操作word文档C#操作word文档public override int getParCount(){} //返回word文档一共几段
 15C#操作word文档C#操作word文档public override void closeFile(){} //关闭文档
 16C#操作word文档C#操作word文档public override void quit(){} //关闭word程序
 17C#操作word文档
 18C#操作word文档//从网页上拷贝的目录有时候会出现手动换行符^l,,先将其换成回车段落标记,才能正确读取
 19C#操作word文档C#操作word文档public void replaceChar(){}
 20C#操作word文档
 21C#操作word文档5:代码
 22C#操作word文档
 23C#操作word文档public override void openFile(object fileName)
 24C#操作word文档C#操作word文档        {
 25C#操作word文档            try
 26C#操作word文档C#操作word文档            {
 27C#操作word文档                if (app.Documents.Count > 0)
 28C#操作word文档C#操作word文档                {
 29C#操作word文档                    if (MessageBox.Show("已经打开了一个word文档,你想关闭重新打开该文档吗?""提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
 30C#操作word文档C#操作word文档                    {
 31C#操作word文档                        object unknow = Type.Missing;
 32C#操作word文档                        doc = app.ActiveDocument;
 33C#操作word文档                        if (MessageBox.Show("你想保存吗?""保存", MessageBoxButtons.YesNo) == DialogResult.Yes)
 34C#操作word文档C#操作word文档                        {
 35C#操作word文档                            app.ActiveDocument.Save();
 36C#操作word文档                        }

 37C#操作word文档
 38C#操作word文档                        app.ActiveDocument.Close(ref unknow, ref unknow, ref unknow);
 39C#操作word文档                        app.Visible = false;
 40C#操作word文档                    }

 41C#操作word文档                    else
 42C#操作word文档C#操作word文档                    {
 43C#操作word文档                        return;
 44C#操作word文档                    }

 45C#操作word文档                }

 46C#操作word文档            }

 47C#操作word文档            catch (Exception)
 48C#操作word文档C#操作word文档            {
 49C#操作word文档                //MessageBox.Show("您可能关闭了文档");
 50C#操作word文档                app = new Microsoft.Office.Interop.Word.Application();
 51C#操作word文档            }

 52C#操作word文档
 53C#操作word文档            try
 54C#操作word文档C#操作word文档            {
 55C#操作word文档                object unknow = Type.Missing;
 56C#操作word文档                app.Visible = true;
 57C#操作word文档                doc = app.Documents.Open(ref fileName,
 58C#操作word文档                                         ref unknow, ref unknow, ref unknow, ref unknow, ref unknow,
 59C#操作word文档                                         ref unknow, ref unknow, ref unknow, ref unknow, ref unknow,
 60C#操作word文档                                         ref unknow, ref unknow, ref unknow, ref unknow, ref unknow);
 61C#操作word文档             }

 62C#操作word文档             catch (Exception ex)
 63C#操作word文档C#操作word文档             {
 64C#操作word文档                 MessageBox.Show("出现错误:" + ex.ToString());
 65C#操作word文档             }
   
 66C#操作word文档           
 67C#操作word文档        }

 68C#操作word文档public override object readPar(int i)
 69C#操作word文档C#操作word文档        {
 70C#操作word文档            try
 71C#操作word文档C#操作word文档            {
 72C#操作word文档                string temp = doc.Paragraphs[i].Range.Text.Trim();
 73C#操作word文档                return temp;
 74C#操作word文档            }

 75C#操作word文档C#操作word文档            catch (Exception e) {
 76C#操作word文档                MessageBox.Show("Error:"+e.ToString());
 77C#操作word文档                return null;
 78C#操作word文档            }

 79C#操作word文档        }

 80C#操作word文档
 81C#操作word文档public override int getParCount()
 82C#操作word文档C#操作word文档        {
 83C#操作word文档            return doc.Paragraphs.Count;
 84C#操作word文档        }

 85C#操作word文档
 86C#操作word文档public override void closeFile()
 87C#操作word文档C#操作word文档        {
 88C#操作word文档            try
 89C#操作word文档C#操作word文档            {
 90C#操作word文档                object unknow = Type.Missing;
 91C#操作word文档                object saveChanges = Word.WdSaveOptions.wdPromptToSaveChanges;
 92C#操作word文档                app.ActiveDocument.Close(ref saveChanges, ref unknow, ref unknow);
 93C#操作word文档            }

 94C#操作word文档            catch (Exception ex)
 95C#操作word文档C#操作word文档            {
 96C#操作word文档                MessageBox.Show("Error:" + ex.ToString());
 97C#操作word文档            }

 98C#操作word文档        }

 99C#操作word文档
100C#操作word文档public override void quit()
101C#操作word文档C#操作word文档        {
102C#操作word文档            try
103C#操作word文档C#操作word文档            {
104C#操作word文档                object unknow = Type.Missing;
105C#操作word文档                object saveChanges = Word.WdSaveOptions.wdSaveChanges;
106C#操作word文档                app.Quit(ref saveChanges, ref unknow, ref unknow);
107C#操作word文档            }

108C#操作word文档            catch (Exception)
109C#操作word文档C#操作word文档            {
110C#操作word文档
111C#操作word文档            }

112C#操作word文档        }

113C#操作word文档
114C#操作word文档C#操作word文档public void replaceChar() {
115C#操作word文档            try
116C#操作word文档C#操作word文档            {
117C#操作word文档                object replaceAll = Word.WdReplace.wdReplaceAll;
118C#操作word文档                object missing = Type.Missing;
119C#操作word文档
120C#操作word文档                app.Selection.Find.ClearFormatting();
121C#操作word文档                app.Selection.Find.Text = "^l";
122C#操作word文档
123C#操作word文档                app.Selection.Find.Replacement.ClearFormatting();
124C#操作word文档                app.Selection.Find.Replacement.Text = "^p";
125C#操作word文档
126C#操作word文档                app.Selection.Find.Execute(
127C#操作word文档                    ref missing, ref missing, ref missing, ref missing, ref missing,
128C#操作word文档                    ref missing, ref missing, ref missing, ref missing, ref missing,
129C#操作word文档                    ref replaceAll, ref missing, ref missing, ref missing, ref missing);
130C#操作word文档            }

131C#操作word文档            catch (Exception e)
132C#操作word文档C#操作word文档            {
133C#操作word文档                MessageBox.Show("文档出现错误,请重新操作");
134C#操作word文档            }

135C#操作word文档        }

136C#操作word文档
137C#操作word文档//6:
138C#操作word文档//刚才是用读取一段做的例子,如果要读取一句或一篇只需要把doc.Paragraphs[i](readPar中)改成doc.Sentences[i]或doc.content即可,因为都是微软的东东,所以用起来没有一点的障碍,再加上现在的vs2005做的很智能,所以先从java转到了c#上
139C#操作word文档
140C#操作word文档//7:
141C#操作word文档//实际上,c#中读取word是不用那么麻烦的,但是如果考虑到可能还要抽取txt,ppt等多种格式,所以就写了一个抽象类,调用起来也方便,这就是为什么我的程序方法开头会有override的原因,总要考虑到通用,所以多了一些代码。
142C#操作word文档
143C#操作word文档

9.C#打开WORD文档内容并显示
C#操作word文档C#操作word文档Code