以下是一个使用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文件中。最后,它保存文件并输出一条消息表明文件已成功生成。