使用 Python 中的 xlwings 模块即可以利用 Python 处理数据的便捷性,又可以像写 VBA 一样操作 Excel
1. Excel 从数据库取数
以下函数写在 funcs.py
文件中
import xlwings as xw
import numpy as np
import pandas as pd
from datetime import datetime
from sqlalchemy import create_engine
db_url = 'mysql+pymysql://uid:pwd@ip:port/db_name?charset=utf8'
conn = create_engine(db_url, echo=False, encoding='utf8')
def get_data():
wb = xw.Book.caller()
sht = wb.sheets.active
sql = 'select * from test'
df = pd.read_sql(sql, con=conn) # 读取数据表
sht.range('A1').options(index=False, header=True).value = df # 将数据存入 Excel 表
2. 将 Excel 表保存到数据库
def save_data():
wb = xw.Book.caller()
sht = wb.sheets.active
df = sht.range('A1').options(pd.DataFrame, expand='table').v