мой вопрос повторяется, после этого ответа Refre sh Внешние данные Excel с Python. Это глупо, но это отлично сработало, но сейчас оно просто работает и не получает полного исполнения. Ранее выполнение заняло менее 30 секунд.
машина Dell с i5 7-го поколения 8 ГБ ОЗУ
Что я делаю, у меня есть один хранимая процедура, которая обновляет данные в таблице, и эта таблица связана с Excel. после refre sh данные, которые должны быть отражены в Excel. код, как показано ниже.
from openpyxl import load_workbook
import pyodbc
import win32com.client
# Master Excel
MasterData = r"C:\Users\Raviraj Pawar\PycharmProjects\Bhuvana_Task\MasterData-1.xlsx"
wb = load_workbook(MasterData)
# database connection
conn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
"Server=RAVIRAJ;"
"Database=psc ;"
"Trusted_Connection=yes;")
print("DB CONNECTED SUCCESSFULLY")
cursor = conn.cursor()
query = "exec [Update Filter Bedrooms] @bedrooms = "
print("currently executing FilterBedrooms procedure")
para = str(input("Enter bedroom number"))
query += para
print(query)
cursor.execute(query)
print("query done")
# excel application
xlapp = win32com.client.DispatchEx("Excel.Application")
wb = xlapp.workbooks.open(MasterData)
print("aplication load done")
wb.RefreshAll()
xlapp.CalculateUntilAsyncQueriesDone()
print("Refresh done")
wb.Save()
print("save done")
xlapp.Quit()
print("quite ")