Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Python by (45.3k points)

I'm trying to write data into a cell, which has multiple line breaks (I believe \n), the resulting .xlsx has line breaks removed. Is there a way to keep these line breaks?

1 Answer

0 votes
by (16.8k points)

In openpyxl you can set the wrap_text alignment property to wrap multi-line strings:

from openpyxl import Workbook

workbook = Workbook()

worksheet = workbook.worksheets[0]

worksheet.title = "Sheet1"

worksheet.cell('A1').style.alignment.wrap_text = True

worksheet.cell('A1').value = "Line 1\nLine 2\nLine 3"

workbook.save('wrap_text1.xlsx')

enter image description here

This is also possible with the XlsxWriter module.

Here is a small working example:

from xlsxwriter.workbook import Workbook

# Create an new Excel file and add a worksheet.

workbook = Workbook('wrap_text2.xlsx')

worksheet = workbook.add_worksheet()

# Widen the first column to make the text clearer.

worksheet.set_column('A:A', 20)

# Add a cell format with text wrap on.

cell_format = workbook.add_format({'text_wrap': True})

# Write a wrapped string to a cell.

worksheet.write('A1', "Line 1\nLine 2\nLine 3", cell_format)

workbook.close()

1.2k questions

2.7k answers

501 comments

693 users

Browse Categories

...