Вопрос, который вы задаете, не очень понятен, поэтому я предоставлю несколько вариантов. учебник для openpyxl
на самом деле приличный, поэтому вы должны попробовать его пройти.
Сначала используйте Таблицы :
from openpyxl import Workbook
from openpyxl.worksheet.table import Table, TableStyleInfo
wb = Workbook()
ws = wb.active
data = [
['Apples', 10000, 5000, 8000, 6000],
['Pears', 2000, 3000, 4000, 5000],
['Bananas', 6000, 6000, 6500, 6000],
['Oranges', 500, 300, 200, 700],
]
# add column headings. NB. these must be strings
ws.append(["Fruit", "2011", "2012", "2013", "2014"])
for row in data:
ws.append(row)
tab = Table(displayName="Table1", ref="A1:E5")
# Add a default style with striped rows and banded columns
style = TableStyleInfo(name="TableStyleMedium9", showFirstColumn=False,
showLastColumn=False, showRowStripes=True, showColumnStripes=True)
tab.tableStyleInfo = style
ws.add_table(tab)
wb.save("table.xlsx")
Кроме того, если вы уже знаете местоположение ячейки, вы можете просто insert_rows()
.
. По умолчанию используется одна строка или столбец. Например, чтобы вставить строку в 7 (перед существующей строкой 7):
ws.insert_rows(7)