注册 登录
编程论坛 Python论坛

求助:python处理excel表格格式问题

小石头936 发布于 2019-12-13 17:17, 1999 次点击
for merg in sht.merged_cells:
    ws1.merge_cells(merg)
sht为源表,ws1为目标表,根据源表sht里合并单元格位置,将目标表ws1里相应位置也设置合并单元格。
想当然用了这个代码,但不行
敬请高手指点,如何修改。
4 回复
#2
fall_bernana2019-12-13 17:50
以下是引用小石头936在2019-12-13 17:17:14的发言:

for merg in sht.merged_cells:
    ws1.merge_cells(merg)
sht为源表,ws1为目标表,根据源表sht里合并单元格位置,将目标表ws1里相应位置也设置合并单元格。
想当然用了这个代码,但不行
敬请高手指点,如何修改。

merg 是个对象 你可以print(type(merg))   <class 'openpyxl.worksheet.merge.MergeCell'>
如果想使用可以ws1.merge_cells(str(merg))
#3
小石头9362019-12-13 18:53
回复 2楼 fall_bernana
厉害,str一下就解决了,非常感谢,
#4
小石头9362019-12-13 20:28
回复 2楼 fall_bernana
版主,麻烦再请教一下,
for merg in sht.merged_cells:
    ws1.merge_cells(str(merg))
    ws1[str(merg)].alignment = sht[str(merg)].alignment
上面加了str后,解决了合并单元格的问题,但合并后没有和源表一样,为居中对齐,
我想通过设置为对齐方式、字体、边框等方面都和源表一致,用上面的代码搞不定,
麻烦帮忙再指点指点吧,
#5
小石头9362019-12-13 21:08
只有本站会员才能查看附件,请 登录

我用了print(type())方式,两者是不同的样式,如何能转化:
将:<class 'openpyxl.styles.proxy.StyleProxy'>
转为:<class 'openpyxl.styles.alignment.Alignment'>

求版主和各位高手指教!
1