import xlwings as xw
import time
from utils import ConvertToFloatList, load_data
import pythoncom
import win32gui
import win32api
import win32con
def all_in_one(x_data, y_data):pythoncom.CoInitialize()
app = xw.App(visible=True, add_book=False)
app.display_alerts = False
app.screen_updating = False
file_path = r'G:\BOE\数据采集\BMTP\55\55_DEMO.xlsm'
wb = app.books.open(file_path)
sheet_demo = wb.sheets['demo']
sheet_demo.range('L5').options(transpose=True).value = x_data
sheet_demo.range('N5').options(transpose=True).value = y_data
offset = sheet_demo.range('X5:Z76').options(transpose=True).value
offset_x = list(set(offset[0]))
offset_x.sort(key=offset[0].index)
offset_x = ConvertToFloatList(offset_x)
offset_y = list(set(offset[1]))
offset_y.sort(key=offset[1].index)
offset_y = ConvertToFloatList(offset_y)
offset_t = list(set(offset[2]))
offset_t.sort(key=offset[2].index)
offset_t = ConvertToFloatList(offset_t)
print('X:', offset_x)
print('Y:', offset_y)
print('T:', offset_t)
sheet_write = wb.sheets['write']
sheet_write.range('D3').options(transpose=True).value = offset_x
sheet_write.range('F3').options(transpose=True).value = offset_y
sheet_write.range('H3').options(transpose=True).value = offset_t
macro = wb.macro("DeviceWrite")
macro()
wb.save()
wb.close()
app.quit()
记录打开表单开始时间
start_open_time = time.time()
offset_data = all_in_one(x_set, y_set)
end_run = time.time()
print('共计耗时:' + str(end_run - start_open_time))
if name == "__main__":x_data, y_data = load_data('G:/BOE/数据采集/BMTP/55/5fat0208001740_f_20200302_191153 - 副本.csv')
all_in_one(x_data, y_data)