我使用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 -无法解析符号'Fields‘或'FieldCollection’
StringBuilder sb = new StringBuilder();
FieldCollection fields = doc.Range.Fields;
foreach (Field field in fields)
sb.AppendLine(field.GetFieldCode());这来自Aspose的开发人员,这抛出了上面的错误。
发布于 2013-11-14 05:26:50
对于第1个问题,不知道文件失败的确切原因,因此您需要让Aspose参与其中。但是,我们使用以下Aspose方法来确定Aspose是否能够打开该文件:
Aspose.Words.FileFormatUtil.DetectFileFormat(fileName).LoadFormat在尝试使用System.IO.File.Exists打开文件之前,您还应该仔细检查该文件是否存在于您的应用程序期望存在的位置。
对于问题#2,您需要将字段的名称空间添加到类的顶部:
using Aspose.Words.Fields;此外,看起来开发人员可能提供了与您正在使用的版本不同的信息。在我们的代码中,引用是对doc.Range.FormFields的引用,集合类型是FormFieldCollection。我不确定GetFieldCode的等价物是什么。
https://stackoverflow.com/questions/19964517
复制相似问题