我使用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的开发人员,这引发了上述错误。
答案 0 :(得分:0)
对于问题#1,没有确切知道文件失败的原因,因此您需要让Aspose参与其中。但是,我们使用以下Aspose方法来确定Aspose是否能够打开文件:
Aspose.Words.FileFormatUtil.DetectFileFormat(fileName).LoadFormat
在尝试使用System.IO.File.Exists打开文件之前,您还应该仔细检查文件是否存在应用程序预期存在的位置。
对于问题#2,您需要将字段的命名空间添加到类的顶部:
using Aspose.Words.Fields;
此外,看起来开发人员可能提供的信息与您使用的版本不同。在我们的代码中,引用是doc.Range.FormFields
,集合类型是FormFieldCollection
。我不确定GetFieldCode
等价物是什么。