尝试使用 python 代码打开 excel

Trying to open an excel using a python code

您好,我正在尝试使用 windows 上的 python 代码打开 excel(python 版本为 3.6.10)

我使用了 link 中的代码 Running an Excel macro via Python?

import win32com.client as wincl

excel_macro = wincl.DispatchEx("Excel.application")
excel_path = os.path.expanduser("Valuation.xlsm")
workbook = excel_macro.Workbooks.Open(Filename = excel_path, ReadOnly =1)

但是 excel 根本打不开,我也没有收到任何错误!

如果我 运行 运行 vba 宏的其余代码它确实可以正常工作(但文件仍然无法打开)

excel_macro.Application.Run("Macro1")
excel_macro.Application.Quit()
del excel_macro

问题是,如何使用 python 打开 excel 文件?

进口os os.system("start EXCEL.EXE dummyfile.xlsx")

打开 excel 文件保存结构的真正简单方法是使用 pandas

import pandas as pd
df = pd.read_excel(excel_path)

只需使 Excel 应用程序可见即可。如果不将此 Application.Visible 属性 设置为 True,应用程序将在后台运行并且确保不要调用 Quit。当然,对于任何 API 集成,一定要包含 try/except:

import win32com.client as wincl

excel_path = os.path.expanduser("Valuation.xlsm")

try:
    excel_app = wincl.DispatchEx("Excel.application")
    workbook = excel_app.Workbooks.Open(Filename = excel_path, ReadOnly =1)

    # RUN PROCESSING
    excel_app.Run("Macro1")

    # LAUNCH EXCEL VISIBLY TO SCREEN
    excel_app.Visible = True

except Exception as e:
    print(e)

finally:
    workbook = None; excel_app = None
    del workbook; del excel_app