2013-03-12 3118 views

回答

19

openpyxl您可以設置wrap_text取向性包裹多行字符串:

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

這也可能與XlsxWriter模塊。

這裏是一個小工作示例:

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() 
+0

感謝您的幫助。你有沒有機會知道python openpyxl的好例子? – user1514631 2013-03-14 10:10:49

+1

最新的OpenPyXL文檔是[這裏](https://openpyxl.readthedocs.org/en/latest/index.html)。然而,我通過閱讀代碼(以及對我所尋找的東西有一個大概的想法),找出了上面的語法。 XlsxWriter有詳細的[docs](https://xlsxwriter.readthedocs.org/en/latest/contents.html)和[示例](https://xlsxwriter.readthedocs.org/en/latest/examples.html)。 – jmcnamara 2013-03-14 11:56:09

+0

我在XlsxWriter和openpyxl模塊上都有重複。 (例如 - 當我寫入「line1 \ n line2」時,我得到「line1 \ n line2 line1 \ n line2」 – 2016-08-01 15:09:15

17

爲風格的API改變openpyxl> = 2下面的代碼說明了現代API。

from openpyxl import Workbook 
from openpyxl.styles import Alignment 

wb = Workbook() 
ws = wb.active # wb.active returns a Worksheet object 
ws['A1'] = "Line 1\nLine 2\nLine 3" 
ws['A1'].alignment = Alignment(wrapText=True) 
wb.save("wrap.xlsx") 
相關問題