2013-03-12 6 views

答えて

19

openpyxlでは、複数行の文字列をラップするwrap_textアライメントプロパティを設定することができます。これはXlsxWriterモジュールでも可能である

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

。ここで

が小さい実施例である:

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

+1

最新のOpenPyXLドキュメントは[こちら](https://openpyxl.readthedocs.org/en/latest/index.html)です。しかし、私はコードを読んで(そして私が探していたものについて一般的な考えを持って)上記の構文を理解しました。 XlsxWriterには詳細な[docs](https://xlsxwriter.readthedocs.org/en/latest/contents.html)と[examples](https://xlsxwriter.readthedocs.org/en/latest/examples.html)があります。 – jmcnamara

+0

私はXlsxWriterとopenpyxlモジュールの両方で重複を取得します。 (例えば、 "line1 \ n line2"と書くと "line1 \ n line2 line1 \ n line2"になります) –

17

スタイルのためのAPIは、次のコードは、近代的なAPIを示しopenpyxl> = 2に変更しました。

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") 
関連する問題