C#-如何在c#Windows应用程序中使用CodeXml将数据集导出到excel

问题描述 投票:2回答:1

我有错误:

System.TypeInitializationException未处理HResult = -2146233036Message =“ ClosedXML.Excel.XLWorkbook”的类型初始值设定项引发了例外。源= ClosedXML类型名称= 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(Boolean fIgnoreVisible)在System.Windows.Forms.Control.CreateControl()在System.Windows.Forms.Control.WmShowWindow(Message&m)在System.Windows.Forms.Control.WndProc(Message&m)在System.Windows.Forms.ScrollableControl.WndProc(Message&m)在System.Windows.Forms.Form.WmShowWindow(Message&m)在System.Windows.Forms.Form.WndProc(Message&m)在System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&m)在System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&m)在System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam)InnerException:System.IO.FileNotFoundExceptionHResult = -2147024894消息=无法加载文件或程序集'DocumentFormat.OpenXml,版本= 2.0.5022.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。的系统找不到指定的文件。来源= ClosedXMLFileName = DocumentFormat.OpenXml,Version = 2.0.5022.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35FusionLog ====预绑定状态信息=== LOG:DisplayName = DocumentFormat.OpenXml,Version = 2.0.5022.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35(完全指定)LOG:Appbase =文件:/// c:/ users / test / documents / visual studio2010 /项目/ ClosedXml / ClosedXml / bin / Debug / LOG:初始PrivatePath= NULL调用程序集:ClosedXML,Version = 0.69.1.0,Culture = neutral,PublicKeyToken = fd1eb21b62ae805b。=== LOG:此绑定在默认加载上下文中启动。日志:找不到应用程序配置文件。日志:使用主机配置文件:日志:使用机器配置文件从C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config。日志:政策后参考:DocumentFormat.OpenXml,版本= 2.0.5022.0,文化=中性,PublicKeyToken = 31bf3856ad364e35日志:尝试下载新的URL文件:/// c:/ users / test / documents / visual studio2010 /项目/ClosedXml/ClosedXml/bin/Debug/DocumentFormat.OpenXml.DLL。日志:尝试下载新的URL文件:/// c:/ users / test / documents / visual studio2010 /项目/ClosedXml/ClosedXml/bin/Debug/DocumentFormat.OpenXml/DocumentFormat.OpenXml.DLL。日志:尝试下载新的URL文件:/// c:/ users / test / documents / visual studio2010 /项目/ClosedXml/ClosedXml/bin/Debug/DocumentFormat.OpenXml.EXE。日志:尝试下载新的URL文件:/// c:/ users / test / documents / visual studio2010 /项目/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);
        }
    }
c# excel visual-studio
1个回答
0
投票

ClosedXML轻推包的版本从Version = 0.69.1.0更新为Version = 0.94.2

© www.soinside.com 2019 - 2024. All rights reserved.