C#asp.net在button中输入代码实现将指定EXCEL中指定列的数据导入到sql server数据库指定表的指定字段
时间: 2024-12-16 08:20:48 浏览: 3
在ASP.NET中,要实现在Button点击事件中从Excel文件读取特定列数据并导入到SQL Server数据库,你需要完成几个步骤:
1. 引入必要的库:首先,确保项目引用了`Microsoft.Office.Interop.Excel`和`System.Data.SqlClient`库,这两个库分别用于操作Excel和数据库。
2. Excel数据读取:
```csharp
using Microsoft.Office.Interop.Excel;
// ...
private void btnImport_Click(object sender, EventArgs e)
{
// 加载Excel文件
Application excelApp = new Application();
Workbook workbook = excelApp.Workbooks.Open("your_excel_file.xlsx");
// 获取工作表和需要的列
Worksheet worksheet = workbook.Sheets[0];
string[] columnData = ReadColumn(worksheet, "YourColumnName"); // 替换为实际列名
// 关闭Excel应用
workbook.Close(false);
excelApp.Quit();
// 将数据插入SQL Server
ImportToDatabase(columnData);
}
private string[] ReadColumn(Worksheet worksheet, string columnName)
{
Range range = worksheet.Cells[1, 1].CurrentRegion; // 假设数据从第一行开始
List<string> columnValues = new List<string>();
for (int i = 2; i <= range.Rows.Count; i++) // 从第二行开始,跳过标题行
{
if (range.Cells[i, 1].Value != null) // 检查单元格是否为空
columnValues.Add(range.Cells[i, columnName].Value.ToString());
}
return columnValues.ToArray();
}
private void ImportToDatabase(string[] data)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
string sql = "INSERT INTO YourTableName (YourField) VALUES (@value)";
foreach (string value in data)
{
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@value", value);
connection.Open();
command.ExecuteNonQuery();
}
}
}
```
阅读全文