C#程序实现Excel数据导入Access数据库

3星 · 超过75%的资源 需积分: 50 279 下载量 187 浏览量 更新于2024-09-09 1 收藏 4KB TXT 举报
"该资源是关于使用C#编程语言在Windows Forms环境下将Excel数据导入到Access数据库表的教程。" 在C#开发中,有时我们需要处理来自不同数据源的数据,例如从Excel工作簿中提取数据并将其存储到数据库中。在这个示例中,我们将看到如何使用C#和ADO.NET(具体是OleDb连接)将Excel文件中的数据导入到Access数据库表中。以下是一些关键知识点: 1. OpenFileDialog: 这是.NET Framework提供的一种控件,用于打开一个文件对话框,让用户选择文件。在`button1_Click`事件处理程序中,创建了一个`OpenFileDialog`实例,设置过滤器只显示Excel文件,并检查用户是否选择了文件。 ```csharp OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Excel文件 (*.xls)|*.xls"; if (dlg.ShowDialog() == DialogResult.OK) { string filePath = dlg.FileName; this.textBox1.Text = filePath; } ``` 2. 文本框(TextBox): `textBox1`用于显示用户所选Excel文件的路径。在用户选择文件后,路径会被显示在此文本框中。 3. OleDbConnectionStringBuilder: 这个类用于构建OleDb连接字符串。在`button2_Click`事件处理程序中,我们创建了`OleDbConnectionStringBuilder`实例,并设置了数据源、提供者以及扩展属性,以读取Excel 97-2003格式的文件。 ```csharp OleDbConnectionStringBuilder connectStringBuilder = new OleDbConnectionStringBuilder(); connectStringBuilder.DataSource = this.textBox1.Text.Trim(); connectStringBuilder.Provider = "Microsoft.Jet.OLEDB.4.0"; connectStringBuilder.Add("ExtendedProperties", "Excel8.0"); ``` 4. OleDbConnection: 这是与各种数据源进行交互的主要对象。在这里,我们创建了一个`OleDbConnection`实例,使用之前构建的连接字符串来连接到Excel文件。 ```csharp using (OleDbConnection cn = new OleDbConnection(connectStringBuilder.ConnectionString)) { // ... } ``` 5. DataSet 和 OleDbDataAdapter: `DataSet`是内存中的数据表示,而`OleDbDataAdapter`用于填充`DataSet`或更新数据库。在这个例子中,我们创建了一个`DataSet`和一个`OleDbCommand`,用于查询Excel文件中的数据。 ```csharp DataSet ds = new DataSet(); string sql = "Select * from [Sheet1$]"; OleDbCommand cmdLiming = new OleDbCommand(sql, cn); ``` 6. 数据库操作: 在`cn.Open`之后,可以执行数据库查询。这里使用`OleDbDataAdapter`的`Fill`方法将Excel数据填充到`DataSet`中,然后可以进一步处理这些数据,如将其导入到Access数据库。 ```csharp cn.Open(); OleDbDataAdapter adapter = new OleDbDataAdapter(cmdLiming); adapter.Fill(ds); ``` 7. 数据导入到Access: 导入数据到Access数据库通常涉及创建一个`OleDbCommand`,编写SQL INSERT语句,然后使用`OleDbCommand`的`ExecuteNonQuery`方法执行插入操作。但这个例子中没有展示这部分代码,可能需要在其他地方实现。 这个教程展示了如何通过C#连接Excel文件并获取数据,但未涵盖将数据导入Access的具体步骤。在实际应用中,你需要在获取数据后,建立到Access数据库的连接,编写相应的INSERT语句,使用`OleDbCommand`执行这些语句,从而将数据插入到Access数据库表中。