繁体   English   中英

使用C#将数据从MS SQL导出到Microsoft Excel

[英]Export data to microsoft excel from MS sql using C#

如何使用C#将数据从MS-SQL导出到Microsoft Excel?

谁能给我一个编码示例或相关教程来连接数据库并单击一个按钮导出到Microsoft Excel?

您是否知道可以在SQL Server Management Studio中通过右键单击数据库并选择“任务”->“导出数据”来执行此操作?

using System;
using System.IO;
using System.Data.SqlClient;
using System.Data;

namespace ExporExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            SqlConnection con = new SqlConnection("Data Source=WINCTRL-KJ8RKFO;Initial Catalog=excel;Integrated Security=True");

            DataTable dt = new DataTable();
            SqlDataAdapter sda = new SqlDataAdapter("select * from Employee",con);
            sda.Fill(dt);
            ExportToExcel(dt);
        }

        public static void ExportToExcel(DataTable dtReport, string ExcelFilePath = null)
        {

                int ColumnsCount;

                if (dtReport == null || (ColumnsCount = dtReport.Columns.Count) == 0)

                    throw new Exception("ExportToExcel: Null or empty input table!\n");


                Microsoft.Office.Interop.Excel.Application Excel = new Microsoft.Office.Interop.Excel.Application();
                Excel.Workbooks.Add();


                Microsoft.Office.Interop.Excel._Worksheet Worksheet = Excel.ActiveSheet;

                object[] Header = new object[ColumnsCount];

                    for (int i = 0; i < ColumnsCount; i++)
                    Header[i] = dtReport.Columns[i].ColumnName;

     Microsoft.Office.Interop.Excel.Range HeaderRange = Worksheet.get_Range((Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[1, 1]),
     (Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[1, ColumnsCount]));

                int RowsCount = dtReport.Rows.Count;
                object[,] Cells = new object[RowsCount, ColumnsCount];

                for (int j = 0; j < RowsCount; j++)
                    for (int i = 0; i < ColumnsCount; i++)
                                Cells[j, i] = dtReport.Rows[j][i];

                Worksheet.get_Range((Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[2, 1]), (Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[RowsCount + 1, ColumnsCount])).Value = Cells;
                Excel.Visible = true;
        }
      }
   }

如何从列表中的 C# 导出数据<object>或 IEnumerable 到 Excel (MS OpenXml)?<div id="text_translate"><p> 我正在尝试使用 Microsoft 的 Open XML 库将List&lt;dynamic&gt;或IEnumerable导出到 Excel 文件。</p><p> 库: <a href="https://github.com/OfficeDev/Open-XML-SDK" rel="nofollow noreferrer">https://github.com/OfficeDev/Open-XML-SDK</a></p><p> 类似请求的示例: <a href="https://www.codeproject.com/Articles/692121/Csharp-Export-data-to-Excel-using-OpenXML-librarie" rel="nofollow noreferrer">https://www.codeproject.com/Articles/692121/Csharp-Export-data-to-Excel-using-OpenXML-librarie</a></p><p> 上面的例子工作得很好,但之间有很多代码(到目前为止工作很整洁,但我正在寻找优化)</p><p> 但是这个库的文档没有扩展(或者没有很多例子),我看到的例子是关于如何将数据导出到 Excel 它使用DataTable或Dataset ; 因此,他们进行从List到DataTable的对话以导出DataTable 。 对于其他库更容易解决的问题,这似乎相当复杂。</p><p> 因此,如果有人有一个关于如何快速和通用导出的示例,我们将不胜感激。</p></div></object>

[英]How to export data from C# from List<object> or IEnumerable to Excel (MS OpenXml)?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用C#将SQL Server数据导出到Excel? 使用C#将表从SQL Server导出到Excel 2007 如何从列表中的 C# 导出数据<object>或 IEnumerable 到 Excel (MS OpenXml)?<div id="text_translate"><p> 我正在尝试使用 Microsoft 的 Open XML 库将List&lt;dynamic&gt;或IEnumerable导出到 Excel 文件。</p><p> 库: <a href="https://github.com/OfficeDev/Open-XML-SDK" rel="nofollow noreferrer">https://github.com/OfficeDev/Open-XML-SDK</a></p><p> 类似请求的示例: <a href="https://www.codeproject.com/Articles/692121/Csharp-Export-data-to-Excel-using-OpenXML-librarie" rel="nofollow noreferrer">https://www.codeproject.com/Articles/692121/Csharp-Export-data-to-Excel-using-OpenXML-librarie</a></p><p> 上面的例子工作得很好,但之间有很多代码(到目前为止工作很整洁,但我正在寻找优化)</p><p> 但是这个库的文档没有扩展(或者没有很多例子),我看到的例子是关于如何将数据导出到 Excel 它使用DataTable或Dataset ; 因此,他们进行从List到DataTable的对话以导出DataTable 。 对于其他库更容易解决的问题,这似乎相当复杂。</p><p> 因此,如果有人有一个关于如何快速和通用导出的示例,我们将不胜感激。</p></div></object> 使用C#将数据从Excel电子表格插入Microsoft Access C#从SQL Server导出到Excel 使用C#以编程方式将查询表从MS Access导出到Excel 使用C#将XML数据导出到Excel 从C#导出数据并将数据格式化为Excel 数据从c#导出到excel 如何将数据从SQL数据库导出到MS Excel
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM