[英]Activate second worksheet with 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
,但由於某種原因,該列被隱藏。 我已將列調整為其他列,但我仍然看到代碼隱藏了多個列。 代碼執行時也會出現,並且標題ws2
為Main21
但編碼值為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.active
和ws2 = wb2.active
。
如果您正在處理帶有宏的文件,則在打開它時需要將keep_vba
標志設置為True
以保留宏。
隱形細胞我經歷過同樣的事情。 最后,我解壓縮了Excel文件並查看了原始XML,發現並非所有列都有寬度尺寸。 沒有寬度的那些是Excel。
快速解決方法是做這樣的事......
for col in 'ABCDEFG':
if not worksheet.column_dimensions[col].width:
worksheet.column_dimensions[col].width = 10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.