def generate_powerquery(excel_name,query_name,query_text):
import win32com.client as win32 ,time
excel = win32.gencache.EnsureDispatch('Excel.Application')
excel.Visible = True
wb = excel.Workbooks.Open(excel_name)
queries = wb.Queries
query = queries.Add(query_name, query_text)
ws = wb.Worksheets.Add()
ws.Name = query_name
qt = ws.ListObjects.Add(SourceType=0,Source="OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=" + query_name + ";Extended Properties=''",Destination=ws.Range("$A$1"))
qt.QueryTable.CommandType = 2 #xlCmdSql
qt.QueryTable.CommandText = "SELECT * FROM [" + query_name + "]"
qt.Refresh()
#调用
#generate_powerquery(r"D:\data.xlsx",'hello','let 源 = "你好" in 源')