繁体   English   中英

.Net Aspose.Words从Word文档中读取

[英].Net Aspose.Words reading from word document

我使用Aspose写入Word文件并读取和写入Excel文件。 我正在尝试从Word文档读取Aspose.Words,但是我一直收到错误消息。 我遵循了Aspose.com的示例,但这些示例没有用。 我在论坛上发帖,但我仍然没有收到他们的回音。

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

有人可以帮助我解决此错误问题,还是告诉我更简单的方法来解决此问题?

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

//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'

StringBuilder sb = new StringBuilder();
FieldCollection fields = doc.Range.Fields;
foreach (Field field in fields)
    sb.AppendLine(field.GetFieldCode());

这来自Aspose的开发人员,并引发了以上错误。

对于问题1,没有确切说明文件失败的原因,因此您需要让Aspose参与其中。 但是,我们使用以下Aspose方法确定Aspose是否能够打开文件:

Aspose.Words.FileFormatUtil.DetectFileFormat(fileName).LoadFormat

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

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

using Aspose.Words.Fields;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM