c#生成excel示例sql数据库导出excel


以下是一个使用C#将SQL数据库中的数据导出到Excel文件的示例代码。此示例使用了`EPPlus`库,它是一个强大的库,用于处理Excel文件,在.NET环境中非常受欢迎。

首先,请确保你已经通过NuGet安装了EPPlus库。


using OfficeOpenXml;
using System;
using System.Data;
using System.Data.SqlClient;

class Program
{
    static void Main(string[] args)
    {
        string connectionString = "你的数据库连接字符串";
        string query = "SELECT * FROM 你的数据表名";

        DataTable dt = GetData(connectionString, query);

        ExcelPackage.LicenseContext = LicenseContext.NonCommercial; // 设置许可为非商业用途
        var fileInfo = new FileInfo(@"输出文件的路径.xlsx");

        using (var package = new ExcelPackage(fileInfo))
        {
            var ws = package.Workbook.Worksheets.Add("Sheet1");

            // 添加表头
            foreach (DataColumn column in dt.Columns)
            {
                ws.Cells[1, column.Ordinal + 1].Value = column.ColumnName;
            }

            // 填充数据
            for (int row = 0; row < dt.Rows.Count; row++)
            {
                for (int col = 0; col < dt.Columns.Count; col++)
                {
                    ws.Cells[row + 2, col + 1].Value = dt.Rows[row][col].ToString();
                }
            }

            // 自动调整列宽
            ws.Cells.AutoFitColumns();

            // 保存文件
            package.Save();
        }

        Console.WriteLine("Excel文件已生成!");
    }

    static DataTable GetData(string connectionString, string query)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            return dt;
        }
    }
}

**注意**:

- 请将`你的数据库连接字符串`替换为你的实际数据库连接字符串。

- 将`你的数据表名`替换为你希望从中提取数据的SQL表名。

- 将`输出文件的路径.xlsx`替换为你希望生成的Excel文件的实际路径。

这段代码首先连接到数据库并执行一个查询来获取数据。然后,它使用EPPlus库来创建一个Excel文件,并将查询结果填充到这个Excel文件中。最后,它保存文件并输出一条消息表明文件已成功生成。