【问题标题】:.Net Aspose.Words reading from word document.Net Aspose.Words 从 word 文档中读取
【发布时间】:2013-11-13 21:16:52
【问题描述】:

我使用 Aspose 写入 word 文件并读取和写入 excel 文件。我试图让 Aspose.Words 从 Word 文档中读取,但我不断收到错误消息。我遵循了 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 - 无法解析符号“字段”或“字段集合”

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

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

【问题讨论】:

  • Katherine,请提供您发布原始问题的 Aspose 论坛链接。我将与各自的团队跟进,以明确了解情况或解决方法。有时由于特定的文件结构或内容等可能会出现问题,但我们可以尝试为您提供修复。您也可以尝试使用最新版本;它可能已经在某些以前的版本中修复。请注意,我负责管理 Aspose 的技术支持。我会尽力帮助您解决这个问题。
  • @ShahzadLatif - 这是链接。我确实收到了某人的回复。我仍在努力让它发挥作用。 aspose.com/community/forums/permalink/508091/508091/…

标签: c# .net excel file-io aspose.words


【解决方案1】:

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

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

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

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

using Aspose.Words.Fields;

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

【讨论】:

  • 对于问题 #2,我在 using 语句中有。
  • @Katherine:我已经更新了问题 #2 的答案修订信息。
  • 字段代码不在表单中,所以我不确定这是否可行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多