python openpyxl insert_cols изменяет ячейки слияния и стили - PullRequest
0 голосов
/ 13 сентября 2018

Я попытался вставить столбец в Excel.

Однако стиль ячеек был изменен

КОД:

import openpyxl

wb = openpyxl.load_workbook('xt3.xlsx')
sheet = wb.worksheets[0]

sheet.insert_cols(0)
[enter image description here][1]wb.save("filename.xlsx")

https://i.stack.imgur.com/hl5QY.png

проблемы с битбакетом: https://bitbucket.org/openpyxl/openpyxl/issues/1098/bugs-insert_cols-changes-merge-cells-and

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

После некоторых копаний я написал этот код в openpyxl и xlrd / xlwt / xlutils. Поддержка как xls, так и xlsx.

До enter image description here

* После 1009 * enter image description here

Ключ должен использовать copy и генерировать координаты. Код здесь

0 голосов
/ 18 сентября 2018

Этот код вставит 3 столбца;Он сохраняет цвет фона, но не все границы.

merged_cells_range = ws.merged_cells.ranges
for merged_cell in merged_cells_range:
    merged_cell.shift(3,0)
ws.insert_cols(1,3)

enter image description here

...