2012-07-24 82 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) 

得到它等待值收盤前加載