我正在尝试在Iron Python(v2.7.5)中创建一个xlsx文件.
我已经安装了最新版本的openpyxl(v2.2.1),并测试了一个简单的示例,该示例几乎完全取自openpyxl文档:
from openpyxl import Workbook
wb = Workbook()
wb.save('empty.xlsx')
我正在按预期的方式在CPython中工作(创建一个空工作簿),但是在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
TypeError:预计日期时间,得到了Object_1 $1
我猜该错误是由某些.NET对象意外弹出引起的,但我对Object_1感到困惑,因此找不到它是什么对象.
我还尝试了较旧版本的软件包,只有使用v1.8.0,我才能获得一些结果:
> openpyxl-2.1.0无例外运行(仅带有弃用警告),但Excel抱怨已创建文件中的内容损坏.在此处输入代码
> openpyxl-2.0.5引发另一个异常(already reported here)
> openpyxl-1.8.6引发“ ImportError:无法从openpyxl.styles导入PatternFill”
> openpyxl-1.8.0打印出警告(UserWarning:无法导入’xml.etree.cElementree’.回退到’xml.etree.Elementree’),经过一番思考,这是很合理的.因此,这可能是唯一可行的版本.
在深入探讨之前,我想问一下社区:
1.是否有人设法在IronPyth下使用openpyxl
2.是否还有其他可用的库,并且可以
创建中等格式的xlsx文件?
解决方法:
我认为简短的答案是您不能将openpyxl与IronPython一起使用.我们使用描述符进行输入,IronPython似乎在与它们斗争.