C#仪器数据文件解析-Word文件(doc、docx)

时间:2023-03-08 16:05:39
C#仪器数据文件解析-Word文件(doc、docx)

不少仪器数据报告输出为Word格式文件,同Excel文件,Word文件doc和docx的存储格式是不同的,相应的解析Word文件的方式也类似,主要有以下方式:

1.通过MS Word应用程序的DCOM接口;

2.WPS Word应用程序的DCOM接口,其他Office应用程序,例如Open Office等;

3.NPOI库;

4.MS Open XML;

5.Spire.Doc库;

实际操作中,MS与Open Office等不同厂家对Word(或泛指Office中的字处理软件文档)的格式定义标准有差别,因此存在兼容性的问题;

即使MS的docx格式文件,2007、2010、2013等不同版本虽然都使用XML格式定义,但仍然不同,也存在兼容性问题。

因此,多数客户终端使用MS Office的情况下,如果使用Open Office等其他应用程序来处理Word文档,则会出现很多问题。

能够很好处理MS Word文档的应用程序,好用的应用程序就是MS Office Word、WPS,好用的组件库就是Spire.Doc,NPOI(仅docx)。

使用组件库的好处是不需要安装应用程序,部署简单,另外通过.Net Framework调用也优于DCOM接口。

由于Spire.Doc为收费组件,所以建议使用NPOI解析Word,当然仅限于Word 2007+。

以下为关键代码,供参考:

FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
xwpfDocument = new XWPFDocument((Stream)fileStream);
foreach (XWPFParagraph xwpfParagraph in (IEnumerable<XWPFParagraph>)xwpfDocument.Paragraphs)
stringBuilder.AppendLine(xwpfParagraph.ParagraphText);