python - 如何在 win32com 中迭代工作表?

标签 python excel python-2.7 python-3.x

我生成了一个包含大量工作表的 xlsx 文件,当我用 Excel 手动打开它时,我想将我带到特定位置。此功能可以完成这项工作,但仅适用于一张纸。如何将其应用到工作簿中的所有工作表?

import win32com.client

def select_cell():
    xl = win32com.client.gencache.EnsureDispatch('Excel.Application')

    wb = xl.Workbooks.Open(r'H:\Files\1.xlsx')
    ws = xl.ActiveSheet
    ws.Range('B100').Select()
    wb.Close(True)
    xl.Quit()

select_cell()

我想做这样的东西:

import win32com.client

def select_cell():
    xl = win32com.client.gencache.EnsureDispatch('Excel.Application')
    wb = xl.Workbooks.Open(r'H:\Files\1.xlsx')
    for ws in wb.Worksheets():
        ws.Range('B100').Select()

    wb.Close(True)
    xl.Quit()

select_cell()

最佳答案

为了被带到新生成的文档中的特定单元格,必须执行这两个表达式:

ws.Range('k100').Value = 1
ws.Range('k100').Select()

要在工作簿的每个工作表中执行此操作:

def select_cell():
    xl = win32com.client.gencache.EnsureDispatch('Excel.Application')
    wb = xl.Workbooks.Open(r'H:\Files1.xlsx')

    for sh in wb.Sheets:

        xl.Worksheets(sh.Name).Activate()
        ws = xl.ActiveSheet
        ws.Range('k100').Value = 1
        ws.Range('k100').Select()


    wb.Close(True)
    xl.Quit()

上面的代码将带您在书中的每个工作表上完成 K100。

关于python - 如何在 win32com 中迭代工作表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41407824/

相关文章:

python - 如何将数据框从水平转换为垂直

php - 为Excel创建OData提供程序 - Power查询显示$ metadata xml

excel - Application.Run 不会将参数传递给不同 .docm 模板中的宏,但可以在 VBA 模块中使用

javascript - 如何使用javascript从用户定义的excel文件中获取输入

python - 如何在多个文件上运行 python 脚本以获得多个输出文件?

unit-testing - Python 单元测试在不应该失败的时候失败了

python - 主管没有启动 gunicorn

python - 在数据库中存储有序字符串集的正确方法

python - Python iter() 中的 b'' sentinel 是什么意思?

python - 将 NLTK 停用词与 scikit-learn 的 TfidfVectorizer 一起使用时出现 Unicode 警告