我正在尝试在Iron Python(v2.7.5)中创建一个xlsx文件。
我已经安装了最新版本的openpyxl(v2.2.1),并测试了一个最小化的示例,几乎是从openpyxl文档中直接复制出来的:
from openpyxl import Workbook
wb = Workbook()
wb.save('empty.xlsx')
在CPython中,I的工作正常(创建一个空工作簿),但在Iron Python中,它只会抛出异常。
File "test_openpyxl.py", line 15, in <module>
File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\openpyxl\workbook\workbook.py", line 298, in save
File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\openpyxl\writer\excel.py", line 196, in save_workbook
File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\openpyxl\writer\excel.py", line 179, in save
File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\openpyxl\writer\excel.py", line 67, in write_data
File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\openpyxl\workbook\properties.py", line 103, in write_properties
File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\openpyxl\utils\datetime.py", line 33, in datetime_to_W3CDTF
类型错误:预期日期时间,得到Object_1$1
我猜这个错误是由于某些意外弹出的.NET对象造成的,但是我被Object_1的事情所困惑,所以无法找到它是什么对象。
我也尝试了旧版本的包,只有在v1.8.0中才能获得一些结果:
- openpyxl-2.1.0可以正常运行(只有一个弃用警告),但Excel会抱怨创建的文件中存在损坏内容。
输入代码
- openpyxl-2.0.5抛出另一个异常(已经在这里报告)
- openpyxl-1.8.6抛出“ImportError:无法从openpyxl.styles导入PatternFill”
- openpyxl-1.8.0会打印出一个警告信息(
UserWarning:无法导入'xml.etree.cElementree'。回退到'xml.etree.Elementree'
),经过一番思考是相当合理的。所以这可能是唯一可以工作的版本。
在我进一步挖掘之前,我想问问社区: 1. 是否有人成功在IronPython下使用openpyxl 2. 是否有其他可以创建适度格式化的xlsx文件的库?