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

猜你喜欢

转载自blog.csdn.net/qq_43678660/article/details/86227583