【问题标题】:Trying to open an excel using a python code尝试使用python代码打开excel
【发布时间】:2020-04-30 17:48:21
【问题描述】:

您好我正在尝试在 windows 上使用 python 代码打开一个 excel(python 版本是 3.6.10)

我使用了链接中的代码 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文件?

【问题讨论】:

    标签: python excel win32com


    【解决方案1】:

    只需让 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
    

    【讨论】:

    • 完美!这很有帮助。
    【解决方案2】:

    导入操作系统 os.system("启动EXCEL.EXE dummyfile.xlsx")

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-01
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多