TypeInitializationException 当实例化 XLWorkbook.
本文关键字:XLWorkbook 实例化 TypeInitializationException | 更新日期: 2023-09-27 18:30:12
该命令XLWorkbook workbook = new XLWorkbook();
抛出 TypeInitializationException。有趣的是,在另一个程序中它没有问题,但在当前程序中我得到了例外。
版本是: 0.69.1.0运行时版本:v4.0.30319
这一个程序中的参考是:
- 封闭的XML浏览器
- Microsoft.CSharp
- 系统
- 系统核心
- 系统.数据
- System.Data.DataSetExceptions
- 系统部署
- 系统.运行时.序列化
- System.Xml
- System.Xml.Linq
- System.Xml.Serialization
对于代码:
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 时,需要引用 OpenXML SDK Microsoft (DocumentFormat.OpenXml.dll(。
检查 Nuget 站点>依赖项
此版本只有一个依赖项 DocumentFormat.OpenXml
OpenXML版本的变化有很多变化。
因此,随着 ClosedXML 版本的出现,依赖关系会发生变化。
注意:明智地使用它,否则如果您更改版本,您将需要再次编码,因此请匹配现有版本并修复它。