2012-07-24 86 views
0

我使用Python打开一个Excel文件,并做出一些改变,然后我需要保存它。除了保存部分外,我可以完成所有工作。我如何获得python来保存文件。如果我手动保存它,我会弹出框,然后点击保存,但我不想手动点击保存。我希望Python能够保存并关闭excel。我需要帮助,这是我的。但它不会工作。我可以把它保存但不能关闭?蟒蛇的Win32保存

import win32com.client 
import os 


xl = win32com.client.DispatchEx("Excel.Application") 
xl.workbooks.open("C:\file.xlsm") 
xl.run("file.xlsm!macro") 
xl.Visible = True 
xl.save = true 
xl.close 

回答

2

你需要获得一个钩到工作簿对象并应用保存作为参数传递给close方法:

xl = win32com.client.DispatchEx("Excel.Application") 
wb = xl.workbooks.open("C:\file.xlsm") 
xl.run("file.xlsm!macro") 
xl.Visible = True 
wb.Close(savechanges=1) 
xl.Quit() 
0

有同样的问题,再加上得到的值公式, 这是我做的 (这部分是我放后的公式,从不同的地方,并保存Excel电子表格):

 import win32com.client as win 

    xl=win.Dispatch('Excel.Application') 
    wb = xl.Workbooks.Open('filepath') 
    xl.Visible = True 
    wb.Close(SAVE_ATTRIBUTE_VALUES) 
    xl.Quit() 

那么当你打开日Ë电子表格,或致电:

 wb = openpyxl.load_workbook('filepath', data_only=True) 
    ws = wb.get_sheet_by_name('Sheet1') 
    print ws['A1'].value 

它可以让你无论是使用公式装载的价值,但你可能需要添加一些

time.sleep(sek) 

得到它等待值收盘前加载