C#操作Office文件(二)

一、使用C#向Word文档中写入文本

       文本是一个Word文档中最简单的元素,通过各种形式的文本与其他元素有机组合才形成了一个完整的Word文档。本节介绍如何使用C#向Word文档中写入文本信息。

       在向Word文档中写入文本时,仍然需要使用上节介绍的Microsoft Word X Object Library COM组件。写入文本的方法主要为设置MSWord.Document.Paragraphs.Last.Range.Text属性,通过设置不同的字符串,即可达到写入文本的目的。

       下面介绍如何向Word文档中写入文本与多行文本

        添加对Microsoft Word 12.0 Object Library的引用

using MSWord=Microsoft.Office.Interop.Word;

using System.IO;

using System.Reflection;


class Program

{

     static void Main(string[] args)

     {

          object   path;//文件路径变量

          string    strContent;//文本内容变量


          MSWord.Application   wordApp;//Word应用程序变量

          MSWord.Document    wordDoc;//Word文档变量


          path=@"c:\MyWord.docx";//路径

          wordApp =new MSWord.ApplicationCalss();//初始化


          //如果已存在,则删除

          if(File.Exists((string)path))

          {

               File.Delete((string)path);

          }

          //由于使用的是COM库,因此有许多变量需要用Missing.Value代替

          Object  Nothing=Missing.Value;

          wordDoc=wordApp.Documents.Add(ref Nothing,ref Nothing,ref Nothing,ref Nothing);

          strContent="使用c#向Word文档中写入文本\n";

          wordDoc.Paragraphs.Last.Range.Text=strContent;

          strContent="写入第二行文本";

          wordDoc.Paragraphs.Last.Range.Test=strContent;

           

           //WdSaveFormat为Word 2007文档的保存格式

           object  format=MSWord.WdSaveFormat.wdFormatDocumentDefault;

           //将wordDoc文档对象的内容保存为DOCX文档

           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,ref Nothing,ref Nothing,ref Nothing);

            //关闭wordDoc文档对象

            wordDoc.Close(ref Nothing,ref Nothing,ref Nothing);

            //关闭wordApp组件对象

            wordApp.Quit(ref  Nothing,ref Nothing,ref Nothing);

            Console.WriteLine(path+"创建完毕!");

     }

}

     

二、使用C#向Word输出格式化的文本

        一个Word文档不可能全部由无格式的普通文本组成,因此在从C#中向Word写入文本信息时经常要输出一些具有特殊字体、颜色的文本。本节介绍如何向word输出格式化的文本。Microsoft Word X Object Library COM组件中文本格式的设置主要是由文本所使用的字体决定的。该COM组件中可以直接设置C#中的Font类,使用非常方便。常用的格式属性有颜色、加粗、斜体、下画线等。

分别介绍以下内容:

输出不同字体的文本

输出不同颜色的文本

输出带下画线的文本

输出斜体文本

输出加粗文本

添加对Microsoft Word 12.0 Object Library的引用

using MSWord=Microsoft.Office.Interop.Word;

using System.IO;

using System.Reflection;

class Program

{

     static  void  Main(string[]  args)

     {

            object  path;//文件路径变量

            string   strContent;//文本内容变量

            MSWord.Application  wordApp;//Word应用程序变量

            MSWord.Document   wordDoc;//Word文档变量

            path=@"c:\MyWord.docx";//路径

            wordApp=new MSWord.ApplicationClass();//初始化

            //如果已存在,则删除

            if(File.Exists((string)path))

            {

                 File.Delete((string)path);

            }

            //由于使用的是COM库,因此有许多变量需要用Missing.Value代替

            Object  Nothing=Missing.Value;

            wordDoc=wordApp.Documents.Add(ref Nothing,ref Nothing,ref Nothing,ref Nothing);


            //写入普通文本

            strContent="普通文本普通文本普通文本普通文本普通文本\n";

            wordDoc.Paragraphs.Last.Range.Text=strContent;

            //写入黑体文本

            strContent="黑体文本黑体文本黑体文本黑体文本黑体文本\n";

            wordDoc.Paragraphs.Last.Range.Font.Name="黑体";

            wordDoc.Paragraphs.Last.Range.Text=strContent;

            //写入加粗文本

            strContent="加粗文本加粗文本加粗文本加粗文本加粗文本\n";

            wordDoc.Paragraphs.Last.Range.Font.Bold=1;

            wordDoc.Paragraphs.Last.RAnge.Text=strContent;

            //写入15号字体文本

            strContent="15号字体文本15号字体文本15号字体文本15号字体文本\n";

            wordDoc.Paragraphs.Last.Range.Font.Size=15;

            wordDoc.Paragraphs.Last.RAnge.Text=strContent;

            //写入斜体文本

            strContent="斜体文本斜体文本斜体文本斜体文本斜体文本\n";

            wordDoc.Paragraphs.Last.Range.Font.Italic=1;

            wordDoc.Paragraphs.Last.RAnge.Text=strContent;

            //写入蓝色文本

            strContent="蓝色文本蓝色文本蓝色文本蓝色文本蓝色文本\n";

            wordDoc.Paagraphs.Last.Range.Font.Color=MSWord.WdColor.wdColorBlue;

            wordDoc.Paragraphs.Last.RAnge.Text=strContent;

            //写入下画线文本

            strContent="下画线文本下画线文本下画线文本下画线文本下画线文本\n";

            wordDoc.Paragraphs.Last.Range.Font.Underline=MSWord.WdUnderline.wdUnderlineThick;

            wordDoc.Paragraphs.Last.RAnge.Text=strContent;

            //写入红色下画线文本

            strContent="红色下画线文本红色下画线文本红色下画线文本红色下画线文本\n";

            wordDoc.Paragraphs.Last.Range.Font.Underline=MSWord.WdUnderline.wdUnderlineThick;

            wordDoc.Paragraphs.Last.Range.Font.UnderlineColor=MSWord.WdColor.wdColorRed;

            wordDoc.Paragraphs.Last.RAnge.Text=strContent;

            //WdSaveFormat为Word2007文档的保存格式

            object  format=MSWord.WdSaveFormat.wdFormatDocumentDefault;

           

//将wordDoc文档对象的内容保存为DOCX文档

           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,ref Nothing,ref Nothing,ref Nothing);

            //关闭wordDoc文档对象

            wordDoc.Close(ref Nothing,ref Nothing,ref Nothing);

            //关闭wordApp组件对象

            wordApp.Quit(ref  Nothing,ref Nothing,ref Nothing);

            Console.WriteLine(path+"创建完毕!");

            

     }

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值