在openpyxl生成的XLSX文件中正确渲染新行
我使用openpyxl
来打开一个.xlsx文件,更新其中的一些值,并保存为一个不同的.xlsx文件。 我正在尝试添加一个新行的脚注:
# example code wb = openpyxl.load_workbook('file.xlsx') sheet = wb.get_sheet_by_name('Sheet1') sheet.header_footer.left_footer.font_size = 7 sheet.header_footer.left_footer.text = '&BSome text&B\nMore text\nEven more' sheet.header_footer.right_footer.font_size = 7 sheet.header_footer.right_footer.text = 'Page &P of &N' wb.save('new_file.xlsx')
但是当我打开新创build的文件并查看页脚时, \n
会以奇怪的方式被replace:
Some text^lMore text^pEven more
我也注意到,如果我尝试在libreoffice的帮助下将其转换为PDF,例如:
os.system('libreoffice --headless --invisible --convert-to pdf --outdir /path/on/disk new_file.xlsx')
生成的PDF再次呈现给不同的东西:
Some text_x000D_More text_x000D_Even more
我怎样才能在页脚中正确生成新行?
(值得一提的是,我在Ubuntu 14.04上使用了openpyxl 2.3.3和Python 3.4,LibreOffice的版本是5.0.5.2)
Excel的页眉和页脚使用奇怪的控制代码格式,其中\n
被x000Dreplace为XML。 页脚是正确的,但LibreOffice没有正确渲染它。