0

我使用 Aspose 写入 word 文件并读取和写入 excel 文件。我试图让 Aspose.Words 从 Word 文档中读取,但我不断收到错误消息。我遵循了 Aspose.com 的示例,但这些示例没有用。我在论坛上发帖了,但我仍然没有收到他们的回复。

我想{fillin "Date" \d ""}从每个 word 文档中读取这些域代码(例如:),它们有多个。一旦我能够提取这些内容,我想将它们放入 aList<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 - 无法解析符号“字段”或“字段集合”

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

这来自 Aspose 的开发人员,这会引发上述错误。

4

1 回答 1

0

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

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

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

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

using Aspose.Words.Fields;

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

于 2013-11-13T21:26:50.473 回答