OpenPyXL Text Wrapping未应用

时间:2016-01-14 14:44:15

标签: excel python-3.x openpyxl

我知道这是一个非常具体的问题,但是有没有人使用OpenPyXL的文本环绕功能遇到任何问题?我在迭代了很多行的同时将它应用到每个单元格,但它似乎没有任何效果?随意提出有关代码结构的任何其他建议。

for row in ws.iter_rows('A2:D1000'):
    for cell in row:
        if end != True:
            cell.style.alignment.wrap_text = True
            cell.value = array[x]          
            print ("Line: " + str(x))
            x += 1
        try:
            end = array[x]
        except:
            end = True

2 个答案:

答案 0 :(得分:11)

我知道这是一个老问题,但我只是遇到了类似的问题,所以这里就是这样。

从openpyxl 2.0开始,样式是不可变的。您需要使用换行文本创建样式,然后将该样式应用于单元格。

from openpyxl.styles import Alignment

# create alignment style
wrap_alignment = Alignment(wrap_text=True)
# assign
cell.alignment = wrap_alignment

答案 1 :(得分:-1)

Openpyxl是一个库而不是应用程序:在许多情况下,您只能为Excel之类的应用程序留下说明,格式化单元格就是一个例子。

如果要在Python中包装文本,请使用textrwap模块。