C# Excel 数据导入 SQL Server 代码示例
以下是使用 C# 将 Excel 数据导入 SQL Server 的代码示例:
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ExcelDataReader;
// 定义要导入的 Excel 文件路径和表名
string filePath = @'C:\data\sample.xlsx';
string tableName = 'SampleTable';
// 使用 ExcelDataReader 读取 Excel 文件中的数据
using (var stream = File.Open(filePath, FileMode.Open, FileAccess.Read))
{
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
var result = reader.AsDataSet();
var table = result.Tables[0];
// 将 Excel 表格中的数据转换为 SQL 语句
var columns = string.Join(', ', table.Columns.Cast<DataColumn>().Select(c => $'[{c.ColumnName}]'));
var values = new StringBuilder();
foreach (DataRow row in table.Rows)
{
var rowValues = string.Join(', ', row.ItemArray.Select(v => $''{v}''));
values.Append($'({rowValues}),');
}
values.Remove(values.Length - 1, 1);
// 使用 SqlConnection 和 SqlCommand 将数据插入到 SQL Server 中
var connectionString = @'Data Source=.\SQLEXPRESS;Initial Catalog=SampleDB;Integrated Security=True;';
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
var sql = $'INSERT INTO {tableName} ({columns}) VALUES {values}';
using (var command = new SqlCommand(sql, connection))
{
command.ExecuteNonQuery();
}
}
}
}
请注意,此代码示例仅适用于将 Excel 文件中的数据导入到 SQL Server 表中。如果 Excel 文件中包含复杂的结构或需要进行数据转换或验证,则需要添加更多的代码逻辑。
原文地址: https://www.cveoy.top/t/topic/nEVm 著作权归作者所有。请勿转载和采集!