【发布时间】:2020-06-17 17:45:39
【问题描述】:
我收到了这个Error:
System.TypeInitializationException 未处理 HResult=-2146233036 Message='ClosedXML.Excel.XLWorkbook' 的类型初始化器抛出了一个 例外。 Source=ClosedXML TypeName=ClosedXML.Excel.XLWorkbook
堆栈跟踪: 在 ClosedXML.Excel.XLWorkbook..ctor() 在 c:\users\test\documents\visual studio 中的 ClosedXml.Form1.ExportDataSetToExcel(DataSet ds) 2010\Projects\ClosedXml\ClosedXml\Form1.cs:第 41 行 在 c:\users\test\documents\visual studio 中的 ClosedXml.Form1.Form1_Load(Object sender, EventArgs e) 2010\Projects\ClosedXml\ClosedXml\Form1.cs:第 30 行 在 System.Windows.Forms.Form.OnLoad(EventArgs e) 在 System.Windows.Forms.Form.OnCreateControl() 在 System.Windows.Forms.Control.CreateControl(布尔 fIgnoreVisible) 在 System.Windows.Forms.Control.CreateControl() 在 System.Windows.Forms.Control.WmShowWindow(消息和 m) 在 System.Windows.Forms.Control.WndProc(消息和 m) 在 System.Windows.Forms.ScrollableControl.WndProc(消息和 m) 在 System.Windows.Forms.Form.WmShowWindow(消息和 m) 在 System.Windows.Forms.Form.WndProc(消息和 m) 在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(消息& m) 在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(消息和 m) 在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam)InnerException: System.IO.FileNotFoundException H结果=-2147024894 消息=无法加载文件或程序集'DocumentFormat.OpenXml,版本=2.0.5022.0,文化=中性, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。这 系统找不到指定的文件。 源=关闭XML 文件名=DocumentFormat.OpenXml,版本=2.0.5022.0,文化=中性,PublicKeyToken=31bf3856ad364e35 FusionLog==== 绑定前状态信息=== LOG: DisplayName = DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35(完全指定)日志:Appbase = file:///c:/users/test/documents/visual studio 2010/Projects/ClosedXml/ClosedXml/bin/Debug/ 日志:初始 PrivatePath = NULL 调用程序集:ClosedXML,版本=0.69.1.0,文化=中性,PublicKeyToken=fd1eb21b62ae805b。 === LOG:此绑定在默认加载上下文中开始。 LOG:未找到应用程序配置文件。 LOG:使用主机配置文件:LOG: 使用来自的机器配置文件 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config。 LOG:后策略参考:DocumentFormat.OpenXml, 版本=2.0.5022.0,文化=中性,PublicKeyToken=31bf3856ad364e35 日志:尝试下载新 URL file:///c:/users/test/documents/visual studio 2010/项目/ClosedXml/ClosedXml/bin/Debug/DocumentFormat.OpenXml.DLL。 日志:尝试下载新 URL file:///c:/users/test/documents/visual studio 2010/项目/ClosedXml/ClosedXml/bin/Debug/DocumentFormat.OpenXml/DocumentFormat.OpenXml.DLL。 日志:尝试下载新 URL file:///c:/users/test/documents/visual studio 2010/项目/ClosedXml/ClosedXml/bin/Debug/DocumentFormat.OpenXml.EXE。 日志:尝试下载新 URL file:///c:/users/test/documents/visual studio 2010/Projects/ClosedXml/ClosedXml/bin/Debug/DocumentFormat.OpenXml/DocumentFormat.OpenXml.EXE。StackTrace: at ClosedXML.Excel.XLWorkbook..cctor() InnerException:
我正在使用下面的代码:
private void Form1_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Country");
dt.Rows.Add("Venkatesh", "India");
dt.Rows.Add("Santhosh", "USA");
dt.Rows.Add("Venkat Sai", "Dubai");
dt.Rows.Add("Venkat Teja", "Pakistan");
ds.Tables.Add(dt);
ExportDataSetToExcel(ds);
}
public void ExportDataSetToExcel(DataSet ds)
{
string AppLocation = "";
AppLocation = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);
AppLocation = AppLocation.Replace("file:\\", "");
string date = DateTime.Now.ToShortDateString();
date = date.Replace("/", "_");
string filepath = AppLocation + "\\ExcelFiles\\" + "RECEIPTS_COMPARISON_" + date + ".xlsx";
using (ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook())
{
for (int i = 0; i < ds.Tables.Count; i++)
{
wb.Worksheets.Add(ds.Tables[i], ds.Tables[i].TableName);
}
wb.Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
wb.Style.Font.Bold = true;
wb.SaveAs(filepath);
}
}
【问题讨论】:
-
我用0.94.2测试过,没有问题
-
请给我codeXml.dll文件
-
PM> Install-Package ClosedXML兄弟github.com/ClosedXML/ClosedXML -
@TấnNguyên 谢谢
标签: c# excel visual-studio