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行成为程序执行的第一个行,但仍然是相同的问题。

我对什么可能导致这里的异常有点不了解?

TypeInitializationException 当实例化 XLWorkbook.

使用 ClosedXML 时,需要引用 OpenXML SDK Microsoft (DocumentFormat.OpenXml.dll(。

检查 Nuget 站点>依赖项

此版本只有一个依赖项 DocumentFormat.OpenXml

OpenXML版本的变化有很多变化。

因此,随着 ClosedXML 版本的出现,依赖关系会发生变化。

注意:明智地使用它,否则如果您更改版本,您将需要再次编码,因此请匹配现有版本并修复它。