C#将Excel表格写入MDB文件
时间: 2024-04-08 18:33:31 浏览: 123
要将 Excel 表格写入 MDB 文件(Microsoft Access 数据库文件),你可以使用 C# 中的 OleDbConnection 和 OleDbDataAdapter 类来实现。下面是一个示例代码:
```csharp
using System;
using System.Data;
using System.Data.OleDb;
namespace ExcelToMDB
{
class Program
{
static void Main(string[] args)
{
string excelFilePath = @"path\to\your\excel\file.xlsx";
string mdbFilePath = @"path\to\your\mdb\file.mdb";
string excelConnectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={excelFilePath};Extended Properties='Excel 12.0 Xml;HDR=YES;'";
string mdbConnectionString = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={mdbFilePath}";
using (OleDbConnection excelConnection = new OleDbConnection(excelConnectionString))
using (OleDbConnection mdbConnection = new OleDbConnection(mdbConnectionString))
{
try
{
excelConnection.Open();
mdbConnection.Open();
// 从 Excel 表格中读取数据
string selectQuery = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(selectQuery, excelConnection);
DataTable dataTable = new DataTable();
dataAdapter.Fill(dataTable);
// 将数据写入 MDB 文件
using (OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter))
{
dataAdapter.InsertCommand = commandBuilder.GetInsertCommand();
dataAdapter.Update(dataTable);
Console.WriteLine("Data written to MDB file successfully!");
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
}
}
```
在上面的代码中,你需要将 `path\to\your\excel\file.xlsx` 替换为实际的 Excel 文件路径,将 `path\to\your\mdb\file.mdb` 替换为实际的 MDB 文件路径。
首先,使用 `Microsoft.ACE.OLEDB.12.0` 提供程序创建一个连接字符串来连接到 Excel 文件。然后,使用 `Microsoft.Jet.OLEDB.4.0` 提供程序创建一个连接字符串来连接到 MDB 文件。
接下来,使用 OleDbConnection 打开 Excel 和 MDB 的连接。
然后,使用 OleDbDataAdapter 从 Excel 表格中读取数据,并将其填充到一个 DataTable 中。
最后,使用 OleDbCommandBuilder 创建插入命令,并使用 OleDbDataAdapter 的 Update 方法将数据写入 MDB 文件。
请确保你的系统中安装了适当的 OLEDB 提供程序(如 `Microsoft.ACE.OLEDB.12.0`)和相应的驱动程序。
希望这能满足你的需求!如果还有其他问题,请随时提问。
阅读全文