要实现“c#生成excel示例sql数据库导出excel”的功能,需要分为以下几个步骤:
- 从数据库中获取需要导出的数据
- 将数据以Excel格式进行保存
下面是具体的步骤和示例代码:
步骤一:从数据库中获取数据
- 首先,需要引入System.Data.SqlClient命名空间,该命名空间提供了对SQL Server数据库的访问功能。
using System.Data.SqlClient;
- 然后,需要使用SqlConnection创建一个连接到数据库的对象,同时指定数据库连接字符串。
string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True;";
SqlConnection connection = new SqlConnection(connectionString);
- 接着,使用SqlCommand对象执行SQL查询语句,获取需要导出的数据。
string query = "SELECT * FROM TableName";
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// 循环读取数据并进行处理
while (reader.Read()) {
// 处理数据
}
- 最后,使用SqlDataReader对象关闭连接。
reader.Close();
connection.Close();
步骤二:将数据以Excel格式进行保存
- 首先,需要引入Microsoft.Office.Interop.Excel命名空间,该命名空间提供了对Excel应用程序的访问功能。
using Microsoft.Office.Interop.Excel;
- 然后,需要创建一个Microsoft.Office.Interop.Excel.Application对象,该对象代表了一个Excel应用程序实例。
Application excel = new Application();
- 接着,创建一个Workbook对象,该对象代表了一个Excel工作簿。
Workbook workbook = excel.Workbooks.Add();
- 接下来,创建一个Worksheet对象,该对象代表了一个Excel工作表。
Worksheet worksheet = workbook.Worksheets.Add();
- 然后,使用Worksheet对象的Cells属性获取单元格对象,并设置单元格的值。
worksheet.Cells[1, 1] = "Column1";
worksheet.Cells[1, 2] = "Column2";
// 将数据写入单元格
- 最后,使用Workbook对象的SaveAs方法将Excel文件保存到磁盘上。
workbook.SaveAs("FileName.xlsx");
示例一:从数据库中获取数据并生成Excel文件
using System.Data.SqlClient;
using Microsoft.Office.Interop.Excel;
string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True;";
SqlConnection connection = new SqlConnection(connectionString);
string query = "SELECT * FROM TableName";
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
Application excel = new Application();
Workbook workbook = excel.Workbooks.Add();
Worksheet worksheet = workbook.Worksheets.Add();
int row = 1;
int col = 1;
// 写入表头
for (int i = 0; i < reader.FieldCount; i++) {
worksheet.Cells[row, col++] = reader.GetName(i);
}
while (reader.Read()) {
row++;
col = 1;
// 写入数据
for (int i = 0; i < reader.FieldCount; i++) {
worksheet.Cells[row, col++] = reader.GetValue(i).ToString();
}
}
reader.Close();
connection.Close();
// 将文件保存到磁盘上
workbook.SaveAs("FileName.xlsx");
示例二:将DataTable对象保存为Excel文件
using System.Data;
using Microsoft.Office.Interop.Excel;
DataTable dataTable = new DataTable();
// 将数据填充到DataTable中
Application excel = new Application();
Workbook workbook = excel.Workbooks.Add();
Worksheet worksheet = workbook.Worksheets.Add();
int row = 1;
int col = 1;
// 写入表头
foreach (DataColumn column in dataTable.Columns) {
worksheet.Cells[row, col++] = column.ColumnName;
}
foreach (DataRow row in dataTable.Rows) {
row++;
col = 1;
// 写入数据
foreach (DataColumn column in dataTable.Columns) {
worksheet.Cells[row, col++] = row[column].ToString();
}
}
// 将文件保存到磁盘上
workbook.SaveAs("FileName.xlsx");
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c#生成excel示例sql数据库导出excel - Python技术站