eXcl是一個輕量級的Excel操作庫,可以幫助我們快速地生成并操作Excel文檔。當(dāng)我們需要從MySQL數(shù)據(jù)庫中獲取數(shù)據(jù),生成一個Excel文件時,我們可以使用eXcl的特性來自動地讀取MySQL數(shù)據(jù)庫中的數(shù)據(jù),并將其填充到Excel文件中。
#導(dǎo)入所需的庫和模塊 from exclext import Workbook import pymysql #連接MySQL數(shù)據(jù)庫 conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='test', charset='utf8') #創(chuàng)建游標(biāo)對象 cursor = conn.cursor() #編寫sql語句并執(zhí)行 sql = "SELECT id, name, age, gender FROM user" cursor.execute(sql) #獲取查詢結(jié)果 data = cursor.fetchall() #生成Excel文件并填充數(shù)據(jù) book = Workbook() sheet = book.add_sheet('user') #寫入表頭 sheet.write(0, 0, 'ID') sheet.write(0, 1, '姓名') sheet.write(0, 2, '年齡') sheet.write(0, 3, '性別') #填充查詢結(jié)果到表格 for i, row in enumerate(data): sheet.write(i+1, 0, row[0]) sheet.write(i+1, 1, row[1]) sheet.write(i+1, 2, row[2]) sheet.write(i+1, 3, row[3]) #保存Excel文件 book.save('user.xls') #關(guān)閉連接 cursor.close() conn.close()
以上代碼的實現(xiàn)過程為,首先連接MySQL數(shù)據(jù)庫,然后編寫SQL語句并執(zhí)行,獲取查詢結(jié)果。接著,我們使用eXcl生成Excel文件,并在其中創(chuàng)建一個名為“user”的工作表。隨后,我們在工作表中寫入表頭,并將查詢結(jié)果的數(shù)據(jù)逐行填充到表格中,并將結(jié)果保存為“user.xls”文件。最后,我們關(guān)閉數(shù)據(jù)庫連接。
這是一種簡單而方便的方法,可以輕松獲得MySQL數(shù)據(jù)庫中的數(shù)據(jù)并生成Excel文件,適用于數(shù)據(jù)量較小且不需要頻繁更新的場景。