8
我試圖將數據寫入單元格,該單元格有多個換行符(我相信\ n),生成的.xlsx已刪除換行符。 有沒有辦法保持這些換行符?使用openpyxl將多行字符串寫入單元格
我試圖將數據寫入單元格,該單元格有多個換行符(我相信\ n),生成的.xlsx已刪除換行符。 有沒有辦法保持這些換行符?使用openpyxl將多行字符串寫入單元格
在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')
這也可能與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()
爲風格的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")
感謝您的幫助。你有沒有機會知道python openpyxl的好例子? – user1514631 2013-03-14 10:10:49
最新的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
我在XlsxWriter和openpyxl模塊上都有重複。 (例如 - 當我寫入「line1 \ n line2」時,我得到「line1 \ n line2 line1 \ n line2」 – 2016-08-01 15:09:15