通过Python模块xlwt更改xls文件中的默认分页符

通过Python模块xlwt更改xls文件中的默认分页符,python,excel,xlwt,Python,Excel,Xlwt,我正在尝试使用Python模块xlwt编辑分页符。 (是的,我发现了一个非常类似的问题,但没有完全解决问题) 这里有一些代码并不像我期望的那样工作: import xlwt wb = xlwt.Workbook() ws = wb.add_sheet('Report') ws.write(0,0, '0 here') ws.write(43,12, '12 here') ws.horz_page_breaks = [(44,0,12),] wb.save('sample.xls') 它确实创

我正在尝试使用Python模块xlwt编辑分页符。 (是的,我发现了一个非常类似的问题,但没有完全解决问题)

这里有一些代码并不像我期望的那样工作:

import xlwt

wb = xlwt.Workbook()
ws = wb.add_sheet('Report')
ws.write(0,0, '0 here')
ws.write(43,12, '12 here')
ws.horz_page_breaks = [(44,0,12),]
wb.save('sample.xls')
它确实创建了行分页符,但列似乎有一个默认的分页符(第2页从第10个“K”列开始)

谁能解释一下我做错了什么,或者如何严格分页符

另外,有人建议我去看看openpyxl库,但还没有找到任何文档或示例来说明如何设置分页符

UPD: 我发现了一些额外的信息。 Excel中有一个自动分页符,不能删除(如这里所说),只能通过拖动将其转换为手动分页符。 使用sheetwork.vert_page_break,我可以设置一个更小(比自动)的垂直分页符。但这并不能解决我的问题

如果有一种方法可以使用xlwt制作自动分页符手册,那将非常有帮助。

经过几个月的研究(这不是一个紧迫的问题),我找到了一个使用“查看”的解决方案。它并没有它应有的那么好,但是它提供了一种处理分页符的方法。下面的代码更改工作表的默认分页符:

import xlsxwriter
import random
wb = xlsxwriter.Workbook('page_breaks.xlsx')
ws = wb.add_worksheet('Sample page')

headers = ['header1', 'header2']
# set headers
for col, header in enumerate(headers):
    ws.write(0+1, col+1, 'header'+str(col))

# let it be 300 rows of data
for row in xrange(2,302):
    ws.write(row, 1, row)

# fill table with some random data
for _ in xrange(3000):
    row = random.randrange(2, 302)
    col = random.randrange(2, 16)
    ws.write(row, col, 'X')

# print_area(), set_paper() and fit_to_pages() do the trick
ws.print_area(1, 1, 301, 15)
ws.set_paper(9)  # set A4 as page format
pages_horz = 1
pages_vert = 4
ws.fit_to_pages(pages_horz, pages_vert)

wb.close()
如果你想在页面上有一定数量的行,你应该注意行高,并根据行高选择parges_vert。因此,您可以使用列

另外,我已经将xlwt更改为xlsxwriter,因为我需要图表和一些xlwt没有提供的其他功能。此外,xlsxwriter有优秀的文档。但这并不意味着xlwt是坏的。我猜xlwt有一些类似于打印区域()、设置纸张()和调整页面()的功能

p.p.S.如果我的答案得到支持,或者没有更好的答案,我会用绿色勾号来标记