C# 将数据从datatable对象导出到Excel的有效方法

C# 将数据从datatable对象导出到Excel的有效方法,c#,vb.net,excel,datatable,C#,Vb.net,Excel,Datatable,下面的代码正在执行该任务,但完成执行几乎需要60秒。大约有2000行和55列。我想嵌套循环并不是最有效和最专业的方法,我在谷歌上搜索过,但没有找到更好的方法…(我想也许有一种方法可以使用SQL?)。我将感谢您提出的使这项工作更有效率的建议。 (它是用vb.net编写的,但c#也可以作为示例和建议) 这很奇怪,但最快的方法是去最矮的: 选择datatable中的all 抄袭 创建xls文件 粘贴 说真的,我试了很多,但是设置了标准的Win控件,速度最快 upd语法对于这一点,您可以在网上很容易地找

下面的代码正在执行该任务,但完成执行几乎需要60秒。大约有2000行和55列。我想嵌套循环并不是最有效和最专业的方法,我在谷歌上搜索过,但没有找到更好的方法…(我想也许有一种方法可以使用SQL?)。我将感谢您提出的使这项工作更有效率的建议。 (它是用vb.net编写的,但c#也可以作为示例和建议)


这很奇怪,但最快的方法是去最矮的:

  • 选择datatable中的all
  • 抄袭
  • 创建xls文件
  • 粘贴
  • 说真的,我试了很多,但是设置了标准的Win控件,速度最快

    upd语法对于这一点,您可以在网上很容易地找到,让我不要复制粘贴到这里

    你也可以检查一下这个

    语法非常简单:

    XLWorkbook wb = new XLWorkbook();
    DataTable dt = GetDataTableOrWhatever();
    wb.Worksheets.Add(dt,"WorksheetName");
    

    任何时候需要打开Excel应用程序对象,都需要一些时间。如果你只是关心数据,你可以使用OLEDB命令,或者简单地写一个csv文件。如果您需要进行格式化,请查看ClosedXML是否可以添加一个示例,说明如何使用OleDBCommand将dataTable导出到excel?请参阅(大约位于答案下方的1/2处)从未这样做过…dataTable.Copy()的语法是什么worksheet.Paste(“a1”)?我下载了DLL并在我的项目中进行了引用,但我一直遇到这样的错误:无法加载文件或程序集“DocumentFormat.OpenXml,Version=2.5.5631.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。系统找不到指定的文件。选择“引用”右键单击-管理NuGet软件包-搜索“closedxml”-选择它并单击“安装”我在visual studio 2015中看不到此选项,我的项目IDE是visual studio 2010,找不到此选项…不知道如何解释如何在项目中引用dll-继续尝试,我还能说什么呢?这个解决方案肯定会对你有用
    XLWorkbook wb = new XLWorkbook();
    DataTable dt = GetDataTableOrWhatever();
    wb.Worksheets.Add(dt,"WorksheetName");