Python,openpyxl:如何在单元格中保留格式化?

时间:2017-03-11 07:59:42

标签: python django openpyxl

我正在将一些数据从xslx文件导入Django模型。

除了如果单元格具有“上标”或“下标”的格式之外,一切都完美无缺。

有没有办法保留单元格中值的样式格式?

m 2 变得简单m2

1 个答案:

答案 0 :(得分:1)

  

如果我在xlsx文件中打开xml,我会看到标签vertAlign val =“superscript”

     

评论:我必须使用Python 2和openpyxl 2.2。并且单元格值不只是'2'或'3'它是'm ^ 2'或'm ^ 3'或者什么,

这是字符格式,您无法字符格式传递给Django。 只有 ^ 2或^ 3 的值。

例如,这会有所帮助:

import re
if vertAlign == superscript:
    value = re.sub('\^2', '²', cell.value)
    value = re.sub('\^3', '³', value)

这会将所有模拟 superscipt(2 | 3)更改为unicode(²|³)。

使用Python测试:3.4.2 - openpyxl:2.4.1 - LibreOffice:4.3.3.2
还应该使用 Python 2和openpyxl 2.2