C#中利用NPOI包操作Word文件

Posted lfq761204

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中利用NPOI包操作Word文件相关的知识,希望对你有一定的参考价值。

之前一直通过在VS里添加引用COM里Microsoft Word 16.0 Object Library引用,导入Microsoft.Office.Interop.Word命名空间,使用此命名空间里的相关类对Word文件进行操作。这种方法有个致命缺点,就是当电脑里未安装Word软件或者Word软件版本与引用的COM库里的版本不一致时,会导致操作Word文件失败。

其实可以利用NuGet里的NPOI包来对Word文件进行操作。

下载npoi.2.5.2.nupkg及其依赖项

通过NuGet管理器导入NPOI包后,在工程文件中引入NPOI.XWPF.UserModel命名空间,绝大部分操作Word文件需要用到的功能模块都在这个命名空间中,例如XWPFDocument类表示一个Word文档对象,XWPFParagraph类表示一个段落对象,XWPFRun类表示段落内的文本对象,XWPFTable类表示表格对象,等等,详细列表可以通过对象浏览器查看NPOI.OOXML程序集。

使用NPOI包操作Word文件代码

using System;
using System.Collections.Generic;
using System.IO;
using NPOI.XWPF.UserModel;

namespace MyWrod{
    public class MyWord{
        public void ExportWord() {  //导出Word文件
            //创建一个Word文档对象
            XWPFDocument doc = new XWPFDocument();
            //在Word文档对象中创建一个段落对象
            XWPFParagraph paragraph = doc.CreateParagraph();
            paragraph.Alignment=ParagraphAlignment.CENTER;  //设置此段落对齐方式为水平居中
            //在此段落对象中创建一个文本对象,并设置文本的字体、大小及颜色
            XWPFRun run = paragraph.CreateRun();
            run.FontFamily="黑体";run.FontSize=16;run.SetColor("FF0000");
            run.SetText("我是内容");    //写入文本内容
            //创建Word文件并写入内容
            FileStream fs = new FileStream("Word文件的路径及文件名",FileMode.Create);
            doc.Write(fs);
            fs.Close();
        }
        public void ImportWord() {  //读取Word文件,并在此基础上操作
            FileStream fs = new FileStream("Word文件的路径及文件名",FileMode.Open);
            //根据提供的文件,创建一个Word文档对象
            XWPFDocument doc = new XWPFDocument(fs);
            //获取Word文档的所有段落对象
            IList<XWPFParagraph> paragraphs = doc.Paragraphs;
            //……
        }
    }
}

 

以上是关于C#中利用NPOI包操作Word文件的主要内容,如果未能解决你的问题,请参考以下文章

C#中利用NPOI包操作Word文件

C#中利用NPOI包操作Word文件

C#中利用NPOI包操作Excel文件

C#中利用NPOI包操作Excel文件

C#中利用NPOI包操作Excel文件

#yyds干货盘点# NPOI在Excel中的简单用法汇总