首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从word文档读取.Net Aspose.Words

从word文档读取.Net Aspose.Words
EN

Stack Overflow用户
提问于 2013-11-14 05:16:53
回答 1查看 4.1K关注 0票数 0

我使用Aspose来写一个word文件,读写一个excel文件。我正在尝试让Aspose.Words从Word文档中读取数据,但我一直收到错误消息。我使用过Aspose.com中的示例,这些示例没有什么用处。我在论坛上发表了帖子,但我仍然没有收到他们的回复。

我想从每个word文档中读取这些字段代码(例如:{fillin "Date" \d ""}),其中有多个字段代码。一旦我能够提取这些,我想把它们放在一个List<string>中,并验证它们不是重复的。在浏览完所有文档后,我需要将该列表打印到excel电子表格中。

有没有人能帮我解决这个错误问题,或者告诉我一个更简单的解决方法?

问题#1 -无法识别该文件。

代码语言:javascript
复制
//string path = @"C:\Users\kbangert\Desktop\Karpel\HonoluluHIChargeCode2\Charge Language\10C104X.doc";
//string file = ConfigurationManager.AppSettings["filePath"] + "10C104X.doc";
//Document doc = new Document(path);
//Document doc = new Document(file);
Document doc = new Document(@"10C104.docx"); 

我尝试了不同的技术,但我得到了相同的错误- "UnsupportedFileFormatException是未处理的“或"FileCorreptionException是未处理的”。我知道这些文件没有问题,那么是字段代码导致了这个问题吗?

问题#2 -无法解析符号'Fields‘或'FieldCollection’

代码语言:javascript
复制
StringBuilder sb = new StringBuilder();
FieldCollection fields = doc.Range.Fields;
foreach (Field field in fields)
    sb.AppendLine(field.GetFieldCode());

这来自Aspose的开发人员,这抛出了上面的错误。

EN

回答 1

Stack Overflow用户

发布于 2013-11-14 05:26:50

对于第1个问题,不知道文件失败的确切原因,因此您需要让Aspose参与其中。但是,我们使用以下Aspose方法来确定Aspose是否能够打开该文件:

代码语言:javascript
复制
Aspose.Words.FileFormatUtil.DetectFileFormat(fileName).LoadFormat

在尝试使用System.IO.File.Exists打开文件之前,您还应该仔细检查该文件是否存在于您的应用程序期望存在的位置。

对于问题#2,您需要将字段的名称空间添加到类的顶部:

代码语言:javascript
复制
using Aspose.Words.Fields;

此外,看起来开发人员可能提供了与您正在使用的版本不同的信息。在我们的代码中,引用是对doc.Range.FormFields的引用,集合类型是FormFieldCollection。我不确定GetFieldCode的等价物是什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19964517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档