python xlwings在Linux上报错XlwingsError:Your platform only supports the instantiation via xw.Book

Posted 但老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python xlwings在Linux上报错XlwingsError:Your platform only supports the instantiation via xw.Book相关的知识,希望对你有一定的参考价值。

报错

XlwingsError: Your platform only supports the instantiation via xw.Book(json=...)

需求

在跨平台使用Python操作Excel的时候,使用什么模块是一个让人很头疼的问题.

  • pywin32模块只能在Windows模块上使用
  • openpyxl模块很多功能没有,包括操作VBA
  • pandas大多数功能都是没有的
  • xlwings在跨平台上支持还是不错的,这次试一下

但是报错如上…

原因

  • xlwings也可以在Linux模块跑,在官方文档中有说明,支持的前提是:电脑上有安装Office.如果没有,可以使用Office Online,也就是上面报错的问题,使用json方式处理,也就是网络中传输数据的方式
  • 但是似乎这种方式仅支持xlwings pro,也就是付费用户

结论

  • Linux上还是尽量不要考虑Excel相关操作吧
  • 如果需要简单的IO操作,也就是导出导入,用pandas模块
  • 如果需要格式等基础操作,可以考虑openpyxl模块
  • VBA操作仅限Windows模块,可以使用pywin32模块,也可以使用wlxings模块

以上是关于python xlwings在Linux上报错XlwingsError:Your platform only supports the instantiation via xw.Book的主要内容,如果未能解决你的问题,请参考以下文章

amqp模块在python2.7.6版本上报错的问题

console.error打印会被上报吗

war包部署到linux服务器上报错Caused by: java.lang.IllegalArgumentException

xlwings (python) - 如何激活工作表?

通过 Python 在 Excel 中创建切片器对象

使用 Python 3 的 xlwings 问题