import time
import pymssql
import xlwt
#import decimal
class MSSQL:
def __init__(self,host,user,pwd,db):
self.host=host
self.user=user
self.pwd=pwd
self.db=db
def GetConnect(self):
if not self.db:
raise(NameError,'没有目标数据库')
self.connect=pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset='utf8')
cur=self.connect.cursor()
if not cur:
raise(NameError,'数据库访问失败')
else:
return cur
def ExecSql(self,sql):
cur=self.GetConnect()
cur.execute(sql)
self.connect.commit()
self.connect.close()
def ExecQuery(self,sql):
cur=self.GetConnect()
cur.execute(sql)
resList = cur.fetchall()
self.connect.close()
return resList
def export(table_name,outputpath):
ms =MSSQL(host="xxx", user="xx‘, pwd="xxx", db="xxx")、、此处换成你的服务器,用户及数据库
results = ms.ExecQuery('select * from '+table_name )
# 获取MsSQL里面的数据字段名称
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('table_'+table_name,cell_overwrite_ok=True)
# 写上字段信息
# for field in range(0,len(fields)):
# sheet.write(0,field,fields[field][0])
# 获取并写入数据段信息
for row in range(1,len(results)):
if (row<=65535):
for col in range(0,len(results[row])):
sheet.write(row,col,results[row][col])
workbook.save(outputpath)
def main():
for m in range(8,9):
fn=r'd:\aaa'+str(15+m)+'.xls';
xx='wsdb1'+str(15+m)
export(xx,fn)
print('ok'+xx)
print('ok')
if __name__ == '__main__':
main()
input("执行完成:")