wb = openpyxl.load_workbook(u'/Users/edz/Desktop/工作簿1.xlsx')
ws = wb['Sheet1']
try:
# hdl_utils.excel_style(ws=ws, delete_column=(3, 1), )
# for me in ws.merged_cells:
# print(me)
ws.merged_cells(start_row=1, end_row=3, start_column=3, end_column=3)
delete_column = (3, 1)
if delete_column:
ws.delete_cols(delete_column[0], delete_column[1])
for merge_col in ws.merged_cells:
# 暂时只支持删除一列,多余行会有bug,有需要的话可以反复调用来实现
if delete_column[0] < merge_col.min_col:
merge_col.shift(col_shift=-delete_column[1])
elif delete_column[0] <= merge_col.max_col:
if merge_col.min_col < merge_col.max_col:
merge_col.shrink(right=delete_column[1])
else:
ws.unmerge_cells(str(merge_col))
wb.save(u'/Users/edz/Desktop/工作簿1.xlsx')
finally:
wb.close()
假如我把excel的第三列合并,然后我又删除了第三列,则新的第三列(原来第四列)变成了合并的,然而我并不想让他合并。。有没有什么好办法?
我目前是这么写的,可这会有一个问题就是原来第四列每个单元格都有值,这么操作一下就只剩下第一个单元格有值了,因为相当于给他进行了一步合并取消合并的操作,有没有什么好办法能解除这个问题呢,