匹配Access数据库和Excel的代码
时间: 2024-03-03 15:47:52 浏览: 138
Access 数据写入到Excel的代码
以下是使用 C# 对 Access 数据库和 Excel 文件进行匹配的示例代码:
```csharp
using System;
using System.Data.OleDb; // Access 数据库连接需要引入的命名空间
using Excel = Microsoft.Office.Interop.Excel; // Excel 操作需要引入的命名空间
namespace AccessExcelMatching
{
class Program
{
static void Main(string[] args)
{
// Access 数据库连接字符串
string accessConnString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\UserName\Documents\AccessDatabase.accdb;Persist Security Info=False;";
// Excel 文件路径
string excelFilePath = @"C:\Users\UserName\Documents\ExcelFile.xlsx";
// 初始化 Access 数据库连接对象和 Excel 应用程序对象
OleDbConnection accessConn = new OleDbConnection(accessConnString);
Excel.Application excelApp = new Excel.Application();
try
{
// 打开 Access 数据库连接
accessConn.Open();
// 从 Access 数据库中读取数据
OleDbCommand accessCmd = new OleDbCommand();
accessCmd.Connection = accessConn;
accessCmd.CommandText = "SELECT * FROM TableName";
OleDbDataReader accessReader = accessCmd.ExecuteReader();
// 打开 Excel 文件
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(excelFilePath);
Excel.Worksheet excelWorksheet = excelWorkbook.Sheets[1];
// 在 Excel 中查找匹配的数据
for (int i = 1; i <= excelWorksheet.UsedRange.Rows.Count; i++)
{
for (int j = 1; j <= excelWorksheet.UsedRange.Columns.Count; j++)
{
Excel.Range cell = excelWorksheet.Cells[i, j];
string cellValue = cell.Value.ToString();
while (accessReader.Read())
{
string accessValue = accessReader["ColumnName"].ToString();
if (cellValue == accessValue)
{
// 匹配成功,做出相应的处理
Console.WriteLine("Matched! Excel value: {0}, Access value: {1}", cellValue, accessValue);
break;
}
}
accessReader.Close();
accessReader = accessCmd.ExecuteReader();
}
}
// 关闭 Excel 文件和 Access 数据库连接
excelWorkbook.Close();
excelApp.Quit();
accessReader.Close();
accessConn.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
// 释放资源
if (accessConn.State == System.Data.ConnectionState.Open)
{
accessConn.Close();
}
if (excelApp != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
}
}
}
}
}
```
注意在使用此代码时应替换为您自己的 Access 数据库连接字符串、Excel 文件路径和列名等信息。此外,也需要安装 Microsoft Access 数据库引擎和 Microsoft Office Interop Excel 组件才能成功运行此代码。
阅读全文