使用openpyx激活第二个工作表

2024-10-01 13:25:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python和openpyxl激活多个excel工作表,并在两个工作簿中同时写入多个工作表。我可以加载第二个工作簿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,但由于某些原因该列被隐藏了。我已经将该列调整为其他列,但仍然看到代码隐藏了多个列。当代码执行时,也会出现这样的情况:将ws2命名为Main21,但编码值是Main2

^{pr2}$

Tags: 代码wstitleloadfilenamexlsxactiveworkbook
2条回答

我在隐藏的牢房里也经历过同样的事情。最后,我打开Excel文件并查看原始XML,发现并非所有列都有宽度维度。那些没有宽度的人是通过Excel。在

一个快速的解决办法就是做这样的事情。。。在

for col in 'ABCDEFG':
    if not worksheet.column_dimensions[col].width:
        worksheet.column_dimensions[col].width = 10

如果打开了wb1和wb2这两个工作簿,则还需要不同的工作表名称:ws1 = wb1.active和{}。在

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

相关问题 更多 >