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文件进行操作。
通过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文件的主要内容,如果未能解决你的问题,请参考以下文章