python模块win32com 实现数据库表结构自动生成word表格

                       

下载win32模块

下载链接

连接mysql

import MySQLdbdb_host = ""db_port = 3306db_name = ""db_user = ""db_pwd = ""db = MySQLdb.connect(host=db_host,port=db_port,user=db_user,passwd=db_pwd,db=db_name,charset="utf8")cursor = db.cursor()
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

获取所有表结构

#获取表数据库中所有表和备注def get_tables(cursor,db_name):    sql = "select table_name,table_comment from information_schema.tables where table_schema = '" + db_name + "'"    cursor.execute(sql)    result = cursor.fetchall()    tables = {}    for r in result:        tables[r[0]] = r[1]    return tables#获取表结构def get_table_desc(cursor,db_name,table_name):    sql = "select column_name,column_type,column_default,is_nullable,column_comment from information_schema.columns where table_schema = '" + db_name + "' and table_name = '" + table_name + "'"     cursor.execute(sql)    result = cursor.fetchall()    return result
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

win32com操作

from win32com.client import Dispatch,constantsword = Dispatch('Word.Application')word.Visible = 1  #是否在后台运行wordword.DisplayAlerts = 0 #是否显示警告信息doc = word.Documents.Add() #新增一个文档r = doc.Range(0,0) #获取一个范围r.Style.Font.Name = u"Verdana" #设置字体r.Style.Font.Size = "9" #设置字体大小r.InsertBefore("\n" + 表描述 + " " + 表名)  #在这个范围前插入文本table = r.Tables.Add(doc.Range(r.End,r.End),字段数+1,5#建一张表格table.Rows[0].Cells[0].Range.Text = u"列"table.Rows[0].Cells[1].Range.Text = u"类型"table.Rows[0].Cells[2].Range.Text = u"默认值"table.Rows[0].Cells[3].Range.Text = u"是否为空"table.Rows[0].Cells[4].Range.Text = u"列备注"
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

完整代码

github地址

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值