【发布时间】:2016-01-14 08:37:57
【问题描述】:
XLWorkbook workbook = new XLWorkbook(); 命令会引发 TypeInitializationException。
有趣的是,在另一个程序中它没有问题,但在当前的程序中我得到了异常。
版本是:0.69.1.0 运行时版本:v4.0.30319
在这个程序中的参考是:
- 关闭XML
- Microsoft.CSharp
- 系统
- System.Core
- System.Data
- System.Data.DataSetExceptions
- System.Deployment
- System.Runtime.Serialization
- System.Xml
- System.Xml.Linq
- System.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 行成为程序执行的第一个行,但仍然是同样的问题。
我有点不知道是什么导致了这个异常?
【问题讨论】:
-
可以分享一下相关的代码部分吗?
-
当然添加了它,但它总是只有在到达新的 XLWorkbook 命令时才添加。
-
我怀疑这个问题与GetMyData()函数有关,你能分享一下相关代码吗?
-
@daryal 不这么认为(也将使用此信息更新问题):我消除了 GetMyData 并仅将 XLWorkbook 行用作程序的第一行,但仍然存在相同的问题.
-
一般情况下,TypeInitialization 异常是构造函数中有字段 null 的标志。你安装了excel吗?
标签: c# visual-studio-2012 closedxml