You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

xlwings Reports快速入门运行报错求助

xlwings Reports快速入门报错问题排查

问题场景

严格按照xlwings Reports快速入门教程操作,复制示例代码并创建指定模板表格,运行report.py时触发以下报错:

Traceback (most recent call last):
  File "report.py", line 17, in <module>
    book = app.render_template(this_dir / 'mytemplate.xlsx',
  File "/home/james/dev/repos/eft/auto-reports/env/lib/python3.8/site-packages/xlwings/main.py", line 699, in render_template
    return render_template(
  File "/home/james/dev/repos/eft/auto-reports/env/lib/python3.8/site-packages/xlwings/pro/reports/main.py", line 439, in render_template
    wb = app.books.open(output)
  File "/home/james/dev/repos/eft/auto-reports/env/lib/python3.8/site-packages/xlwings/main.py", line 4988, in open
    return Book(impl=self.impl.open(json=json))
  File "/home/james/dev/repos/eft/auto-reports/env/lib/python3.8/site-packages/xlwings/pro/_xlremote.py", line 217, in open
    book = Book(api=json, books=self)
  File "/home/james/dev/repos/eft/auto-reports/env/lib/python3.8/site-packages/xlwings/pro/_xlremote.py", line 268, in __init__
    if api["version"] != __version__:
TypeError: 'NoneType' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "report.py", line 20, in <module>
    book.to_pdf(this_dir / 'myreport.pdf')
  File "/home/james/dev/repos/eft/auto-reports/env/lib/python3.8/site-packages/xlwings/main.py", line 764, in __exit__
    self.quit()
  File "/home/james/dev/repos/eft/auto-reports/env/lib/python3.8/site-packages/xlwings/main.py", line 388, in quit
    return self.impl.quit()
  File "/home/james/dev/repos/eft/auto-reports/env/lib/python3.8/site-packages/xlwings/base_classes.py", line 50, in quit
    raise NotImplementedError()
NotImplementedError

运行环境

  • 系统:Ubuntu 20.04.5 LTS
  • Python版本:3.8.10
  • 依赖包版本:
numpy==1.23.4
pandas==1.5.1
python-dateutil==2.8.2
pytz==2022.5
six==1.16.0
xlwings==0.28.2

解决建议

1. 排查xlwings Remote连接问题

报错涉及_xlremote.py,说明当前使用xlwings Remote模式,但未成功连接到远程Excel服务:

  • 在装有Excel的Windows/macOS机器上,安装xlwings并启动服务:xlwings server start
  • Linux端设置环境变量:export XLWINGS_REMOTE_URL=http://<远程机器IP>:5000,确保网络互通

2. 切换为LibreOffice后端

Linux无官方Excel,可使用LibreOffice作为xlwings的处理后端:

  • 安装LibreOffice:sudo apt update && sudo apt install libreoffice
  • 设置环境变量指定绑定:export XLWINGS_BINDING=libreoffice

3. 升级xlwings版本

当前使用的0.28.2版本较旧,存在已知Linux兼容性问题,升级到最新稳定版:

pip install --upgrade xlwings

4. 验证模板文件路径

确认mytemplate.xlsx的路径是否正确,检查this_dir / 'mytemplate.xlsx'是否指向实际存在的文件,避免路径错误引发隐性异常

内容的提问来源于stack exchange,提问作者jcstockdale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:45:42