下面是关于“C#实现将DataTable内容输出到Excel表格的方法”的完整攻略。
1.准备工作
在使用C#实现将DataTable内容输出到Excel表格之前,你需要安装一个Excel操作库,常用的有EPPlus和NPOI。
在本攻略中,我们将使用EPPlus作为Excel操作库,您可以通过NuGet包管理器来安装该库。
2.添加引用
安装完成后,我们需要在C#代码中添加引用,以便使用EPPlus库中的命名空间和方法。
using System.IO;
using OfficeOpenXml;
using OfficeOpenXml.Style;
using System.Drawing;
3.创建Excel文件并输出DataTable内容
下面是将DataTable内容输出到Excel表格的示例代码:
private void CreateExcelFile(DataTable dt)
{
using (ExcelPackage pck = new ExcelPackage())
{
//创建Excel表格并指定名称
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Sheet1");
//将DataTable中的列名添加到Excel表格的第一行
for (int i = 0; i < dt.Columns.Count; i++)
{
ws.Cells[1, i + 1].Value = dt.Columns[i].ColumnName;
}
//将DataTable中的数据逐行添加到Excel表格中
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
ws.Cells[i + 2, j + 1].Value = dt.Rows[i][j].ToString();
}
}
//设置Excel表格格式
ws.Cells[1, 1, 1, dt.Columns.Count].Style.Font.Bold = true;
ws.Cells[1, 1, dt.Rows.Count + 1, dt.Columns.Count].AutoFitColumns();
ws.Cells[1, 1, dt.Rows.Count + 1, dt.Columns.Count].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
ws.Cells[1, 1, dt.Rows.Count + 1, dt.Columns.Count].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
//保存Excel表格
Byte[] bin = pck.GetAsByteArray();
File.WriteAllBytes(@"path\filename.xlsx", bin);
}
}
4.示例说明
下面是两个示例说明,演示如何使用上述代码将DataTable内容输出到Excel表格。
4.1 示例1
在此示例中,我们将创建一个DataTable对象,并将其内容输出到名为“Test”的Excel表格中。
private void Example1()
{
DataTable dt = new DataTable();
//添加列
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
//添加数据
dt.Rows.Add(1, "Tom", 18);
dt.Rows.Add(2, "Jerry", 20);
dt.Rows.Add(3, "Lily", 22);
//将DataTable内容输出到Excel表格
CreateExcelFile(dt);
}
运行上述代码后,将在指定路径下生成一个名为“filename.xlsx”的Excel文件,其中包含名为“Sheet1”的工作表,以及ID、Name和Age这三列的数据。
4.2 示例2
在此示例中,我们将从数据库中获取数据,并将其内容输出到Excel表格中。
private void Example2()
{
string connStr = "your connection string";
string query = "your sql query";
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlDataAdapter adpt = new SqlDataAdapter(query, conn))
{
DataTable dt = new DataTable();
adpt.Fill(dt);
//将DataTable内容输出到Excel表格
CreateExcelFile(dt);
}
conn.Close();
}
}
在此示例中,我们首先使用SqlConnection对象连接到数据库,然后执行指定的查询,并使用SqlDataAdapter对象将结果填充到DataTable对象中。最后,将DataTable内容输出到Excel表格中。
5.总结
以上就是关于“C#实现将DataTable内容输出到Excel表格的方法”的完整攻略。通过上述代码,您可以很方便地将DataTable内容输出到Excel表格中。当然,还有其他的方法可以实现该功能,请根据您的需要进行选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现将DataTable内容输出到Excel表格的方法 - Python技术站