我试图在C#中使用NPOI编辑excel文件,但它给我一个我不明白的错误,我无法在互联网上找到任何文档为了这。 以下是相关代码:
代码是一张质量很差的图片,因为我不会发布我正确缩进的代码,而且我已经厌倦了。无法使它工作,所以我拍了一个截图。
我在第8行总是有一个丑陋的,无休止的错误,workBook.Write指令:
InvalidOperationException:输入NPOI.OpenXmlFormats.ItemChoiceType是 缺少枚举值'空' for element' empty from namespace ' http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes&#39 ;. System.Xml.Serialization.XmlReflectionImporter.ImportElementInfo (System.Type cls,System.String defaultName,System.String defaultNamespace,System.Type defaultType, System.Xml.Serialization.XmlTypeMapMemberElement成员, System.Xml.Serialization.XmlAttributes atts) System.Xml.Serialization.XmlReflectionImporter.CreateMapMember (System.Type declaringType, System.Xml.Serialization.XmlReflectionMember rmember,System.String DefaultNamespace的) System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root,System.String defaultNamespace)Rethrow as InvalidOperationException:有一个 错误反映字段'项目'。 System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root,System.String DefaultNamespace的) System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root,System.String defaultNamespace)Rethrow as InvalidOperationException:有一个 错误反映类型' NPOI.OpenXmlFormats.CT_Property'。 System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root,System.String DefaultNamespace的) System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type类型,System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) System.Xml.Serialization.XmlReflectionImporter.ImportElementInfo (System.Type cls,System.String defaultName,System.String defaultNamespace,System.Type defaultType, System.Xml.Serialization.XmlTypeMapMemberElement成员, System.Xml.Serialization.XmlAttributes atts) System.Xml.Serialization.XmlReflectionImporter.CreateMapMember (System.Type declaringType, System.Xml.Serialization.XmlReflectionMember rmember,System.String DefaultNamespace的) System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root,System.String defaultNamespace)Rethrow as InvalidOperationException:有一个 错误反映了字段'属性'。 System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root,System.String DefaultNamespace的) System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root,System.String defaultNamespace)Rethrow as InvalidOperationException:有一个 错误反映类型' NPOI.OpenXmlFormats.CT_CustomProperties'。 System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root,System.String DefaultNamespace的) System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type类型,System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) System.Xml.Serialization.XmlSerializer..ctor(System.Type类型, System.Xml.Serialization.XmlAttributeOverrides覆盖, System.Type [] extraTypes,System.Xml.Serialization.XmlRootAttribute root,System.String defaultNamespace) System.Xml.Serialization.XmlSerializer..ctor(System.Type类型) NPOI.OpenXmlFormats.CustomPropertiesDocument..cctor()Rethrow as TypeInitializationException:类型抛出异常 NPOI.OpenXmlFormats.CustomPropertiesDocument的初始化程序 NPOI.POIXMLProperties..cctor()Rethrow as TypeInitializationException:类型抛出异常 NPOI.POIXMLProperties的初始化程序 NPOI.POIXMLDocument.GetProperties()将Rethrow改为POIXMLException NPOI.POIXMLDocument.GetProperties()NPOI.POIXMLDocument.Write (System.IO.Stream stream)Statistiques.Save()(at Assets / Scripts_Exp / Statistiques.cs:26)TutorialManager.Update()(at 资产/ Scripts_Exp / TutorialManager.cs:78)
当然,给定的URL不再存在。 如果我在Console.log中尝试文件中的给定单元格,它会给我正确的值,因此读取文件有效但不能写入。
有没有人经历过这个? 谢谢你的帮助。 :)
答案 0 :(得分:0)
尝试写入不同的流 - 伪代码:
var outputStream = new FileStream(differentPathThanInput) workbook.Write(OutputStream中)