使用ADO连接字符串可以实现将数据从Excel传输到受密码保护的Access数据库。以下是一个示例代码:
import win32com.client as win32
import pyodbc
# 创建Excel应用程序对象
excel = win32.Dispatch('Excel.Application')
# 打开Excel文件
workbook = excel.Workbooks.Open(r'C:\path\to\your\excel\file.xlsx')
# 获取Excel工作表
worksheet = workbook.Worksheets('Sheet1')
# 获取Excel数据范围
data_range = worksheet.UsedRange
# 配置ADO连接字符串
conn_str = (
r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};"
r"Dbq=C:\path\to\your\access\database.accdb;"
r"Uid=admin;"
r"Pwd=your_password;"
)
# 建立ADO数据库连接
conn = pyodbc.connect(conn_str)
# 创建游标
cursor = conn.cursor()
# 循环遍历Excel数据范围,并将数据插入Access数据库
for row in data_range.Rows:
values = [cell.Value for cell in row]
cursor.execute("INSERT INTO your_table_name (column1, column2) VALUES (?, ?)", values)
# 提交事务
conn.commit()
# 关闭连接
cursor.close()
conn.close()
# 关闭Excel应用程序对象
excel.Quit()
请注意,您需要安装pyodbc
和pywin32
模块,以便运行上述代码。此外,您需要根据实际情况修改Excel文件路径、Access数据库路径、表名以及用户名和密码。