Skip to content

Commit 57dcac7

Browse files
Add support for startrow and startcol arguments
1 parent 3c5d5b5 commit 57dcac7

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

pandas/io/excel/_odswriter.py

+11-3
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ def save(self):
3636
def write_cells(
3737
self, cells, sheet_name=None, startrow=0, startcol=0, freeze_panes=None
3838
):
39+
"""
40+
Write the frame cells using odf
41+
"""
3942
from odf.table import Table, TableCell, TableRow
4043
from odf.text import P
4144

42-
# Write the frame cells using odf
43-
# assert startrow == 0
44-
# assert startcol == 0
4545
sheet_name = self._get_sheet_name(sheet_name)
4646

4747
if sheet_name in self.sheets:
@@ -53,10 +53,18 @@ def write_cells(
5353
if _validate_freeze_panes(freeze_panes):
5454
self._create_freeze_panes(sheet_name, freeze_panes)
5555

56+
for _ in range(startrow):
57+
wks.addElement(TableRow())
58+
5659
rows: DefaultDict = defaultdict(TableRow)
5760
col_count: DefaultDict = defaultdict(int)
5861

5962
for cell in sorted(cells, key=lambda cell: (cell.row, cell.col)):
63+
# only add empty cells if the row is still empty
64+
if not col_count[cell.row]:
65+
for _ in range(startcol):
66+
rows[cell.row].addElement(TableCell())
67+
6068
# fill with empty cells if needed
6169
for _ in range(cell.col - col_count[cell.row]):
6270
rows[cell.row].addElement(TableCell())

0 commit comments

Comments
 (0)