python - 使用 openpyxl 激活第二个工作表

标签 python openpyxl

我正在尝试激活多个 Excel 工作表并使用 python 和 openpyxl 写入两个工作簿中的多个工作表。我可以加载第二个工作簿 f,但无法使用字符串 Recon

附加第二个工作簿的单元格 G2
from openpyxl import Workbook, load_workbook

filename = 'sda_2015.xlsx'

wb = Workbook()
ws = wb.active

ws['G1'] = 'Path'
ws.title = 'Main'

adf = "Dirty Securities 04222015.xlsx"
f = "F:\\ana\\xlmacro\\" + adf

wb2 = load_workbook(f)
"""
wb22 = Workbook(wb2)
ws = wb22.active

ws['G1'] = "Recon2"
ws.title = 'Main2'
"""
print wb2.get_sheet_names()

wb.save(filename)

我注释掉了损坏的代码

更新 我用下面的答案调整了我的代码。单元格 H1 中的值写入到 H 列的 wb2 中,但由于某种原因该列被隐藏。我已将该列调整为其他列,但我仍然看到代码隐藏了多个列。还有一种情况是,代码执行时标题 ws2Main21,但编码值是 Main2

from openpyxl import Workbook, load_workbook

filename = 'sda_2015.xlsx'

wb1 = Workbook()
ws1 = wb1.active

ws1['G1'] = 'Path'
ws1.title = 'Main'

adf = "Dirty Securities 04222015.xlsx"
f = "F:\\ana\\xlmacro\\" + adf

wb2 = load_workbook(f)

ws2 = wb2.active

ws2['H1'] = 'Recon2'
ws2.title = 'Main2'

print wb2.get_sheet_names()

wb1.save(filename)
wb2.save(f)

最佳答案

如果您打开了两个工作簿 wb1 和 wb2,则还需要为各个工作表使用不同的名称:ws1 = wb1.activews2 = wb2.active.

如果您正在使用包含宏的文件,则在打开该文件时需要将 keep_vba 标志设置为 True 以保留宏。

关于python - 使用 openpyxl 激活第二个工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29835976/

相关文章:

python - 扩展 Django 表单

python - 具有过多参数的函数 - Python

python - 如何从wxpython ListBox获取项目列表

python - Selenium 和 Excel - 导入 Excel 数据和发送 key

python - 使用openpyxl从Excel获取列宽

python - openpyxl - comment.author 在 xlsx 文件中不可见

python - 在 numpy 中执行间接排序,为相同元素保留相同索引

python - 将 Excel 行、列索引转换为 python/openpyxl 中的字母数字单元格引用

long 类型的 Python 对象没有 Len() 错误?

python - 有没有办法将参数传递给xml?或者修改一下?