refre sh excel, используя python? - PullRequest
       28

refre sh excel, используя python?

0 голосов
/ 21 апреля 2020

мой вопрос повторяется, после этого ответа 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 ")
...