C# 实例化XLWorkbook时出现TypeInitializationException异常

C# 实例化XLWorkbook时出现TypeInitializationException异常,c#,visual-studio-2012,closedxml,C#,Visual Studio 2012,Closedxml,命令xl工作簿=新建xl工作簿()引发TypeInitializationException。 有趣的是,在另一个程序中,它工作正常,但在当前的程序中,我得到了一个例外 版本为:0.69.1.0 运行时版本:v4.0.30319 这一计划中的参考资料包括: ClosedXML Microsoft.CSharp 系统 系统核心 系统数据 System.Data.DataSetException 系统部署 System.Runtime.Serialization Xml System.Xml.Li

命令
xl工作簿=新建xl工作簿()引发TypeInitializationException。
有趣的是,在另一个程序中,它工作正常,但在当前的程序中,我得到了一个例外

版本为:0.69.1.0 运行时版本:v4.0.30319

这一计划中的参考资料包括:

  • ClosedXML
  • Microsoft.CSharp
  • 系统
  • 系统核心
  • 系统数据
  • System.Data.DataSetException
  • 系统部署
  • System.Runtime.Serialization
  • Xml
  • System.Xml.Linq
  • System.Xml.Xml序列化
守则:

DataTable datenTabelle = GetMyData();
XLWorkbook workbook = new XLWorkbook();
IXLWorksheet worksheet = workbook.AddWorksheet(datenTabelle);
worksheet.Cells("A2:A" + (datenTabelle.Rows.Count + 1).ToString()).DataType = XLCellValues.Text;
worksheet.Cells("B2:B" + (datenTabelle.Rows.Count + 1).ToString()).DataType = XLCellValues.Text;
worksheet.Cells("C2:C" + (datenTabelle.Rows.Count + 1).ToString()).DataType = XLCellValues.Text;
worksheet.Cells("D2:D" + (datenTabelle.Rows.Count + 1).ToString()).DataType = XLCellValues.DateTime;
worksheet.Cells("E2:E" + (datenTabelle.Rows.Count + 1).ToString()).DataType = XLCellValues.Text;
worksheet.Cells("F2:F" + (datenTabelle.Rows.Count + 1).ToString()).DataType = XLCellValues.Text;
worksheet.Cells("G2:G" + (datenTabelle.Rows.Count + 1).ToString()).DataType = XLCellValues.Number;
worksheet.Cells("H2:H" + (datenTabelle.Rows.Count + 1).ToString()).DataType = XLCellValues.Number;
worksheet.Cells("I2:I" + (datenTabelle.Rows.Count + 1).ToString()).DataType = XLCellValues.Number;
编辑为某些信息:我已经尝试删除DataTable行,并使XLWorkbook行成为程序执行的第一行,但仍然存在相同的问题


我不知道是什么原因导致了这种异常?

当使用ClosedXML时,您需要参考Microsoft OpenXML SDK(DocumentFormat.OpenXML.dll)。

当使用ClosedXML时,您需要参考Microsoft OpenXML SDK(DocumentFormat.OpenXML.dll).

您可以共享相关的代码部分吗?当然可以添加它,但它总是在到达新的XLWORK comand后才会出现。我怀疑问题与GetMyData()函数有关,您可以共享相关的代码部分吗?@daryal不这么认为(也会用此信息更新问题):我删除了GetMyData,只是将XLWorkbook行用作程序中的第一行,但它仍然存在相同的问题。通常,TypeInitialization exception是构造函数中字段为null的标志。您是否安装了excel?是否可以共享相关的代码部分?确实添加了它,但总是在到达新的XLWORKS comand后才进行。我怀疑问题与GetMyData()函数有关,您可以共享相关的代码部分吗?@daryal不这样认为(也会使用此信息更新问题):我删除了GetMyData,只是将XLWorkbook行用作程序中的第一行,但它仍然存在相同的问题。通常,TypeInitialization exception是构造函数中字段为null的标志。你安装了excel吗?我将在周一试用。但是有一个问题是,有什么理由不需要引用documentFormat.OpenXml吗?(当我检查了另一个有效的程序时,我从来没有看到过对它的引用)没有,ClosedXML不应该在没有该引用的情况下工作。也许你忽略了,已经试过了。似乎openxml在另一个程序的另一个子项目中,这就是问题所在。TNX将在周一进行试验。但是有一个问题是,有什么理由不需要引用documentFormat.OpenXml吗?(当我检查了另一个有效的程序时,我从来没有看到过对它的引用)没有,ClosedXML不应该在没有该引用的情况下工作。也许你忽略了,已经试过了。似乎openxml在另一个程序的另一个子项目中,这就是问题所在。tnx