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;  //设置此段落对齐方式为水平居中
            paragraph.SpacingBetween=1.5;    //设置段落的行距,如果Rule设置成EXACT,将此值乘12得到固定的磅值,否则为多倍行距
            paragraph.SpacingLineRule = LineSpacingRule.EXACT;    //设置行距的值类型为固定值,不设置的话默认为多倍行距,一定要在定义SpacingBetween值后设置此属性
            //在此段落对象中创建一个文本对象,并设置文本的字体、大小及颜色
            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;
            //……
        }
    }
}

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值