目前有哪个 Python 的轮子 支持 xlsx 的修改(保留源格式)

2018-11-05 00:39:28 +08:00
 JCZ2MkKb5S8ZX9pq

需求

遇到的问题

请教

感觉是个挺常用的功能,但实在遍寻不到可用的轮子,有大神能指条明路嘛?

7400 次点击
所在节点    Python
26 条回复
JCZ2MkKb5S8ZX9pq
2018-11-05 00:54:13 +08:00
现在暂用的村炮方案是,把表格内容如下复制到剪贴板,然后手动黏贴一次。
a\t123\n
b\t234\n
...\t...\n
FullBridgeRect
2018-11-05 00:59:37 +08:00
openpyxl?
Sylv
2018-11-05 01:25:52 +08:00
试试 xlwings。
如果也满足不了你的需求的话,提供一个思路:在 Excel 里先用 VBA 写你想要的方法,例如在某位置设置某格式,然后用 xlwings 的 macro 方法去调用 VBA 方法,传入数据和参数。
https://docs.xlwings.org/en/stable/api.html#xlwings.Book.macro
jimmyye
2018-11-05 02:21:46 +08:00
PythonAnswer
2018-11-05 06:26:47 +08:00
我觉得直接写 vba 会更快啊。只是 crud 数据,用 vba 更好。
janxin
2018-11-05 06:56:08 +08:00
只要不是用 excel 原生功能的,多少都有问题。如果没有额外需求但是必须要 py 的话,建议直接生成一个新的
hanxiV2EX
2018-11-05 07:50:47 +08:00
造轮子吧,xlsx 格式比 xls 更好理解,zip 解压出来就是 xml,直接操作 xml 再 zip 压缩。
geelaw
2018-11-05 07:53:25 +08:00
weyou
2018-11-05 07:54:26 +08:00
openpyxl 支持有简单格式的 excel 文件的修改,但复杂格式会丢失
myhot21
2018-11-05 07:57:57 +08:00
python 操作 office 的所有开源库,看下哪一个合适: https://www.21doc.net/python/awesomepython
nicevar
2018-11-05 08:07:24 +08:00
Python 这方面没有好用的,都是鸡肋
canfoderiskii
2018-11-05 08:32:04 +08:00
用 vba
clker
2018-11-05 08:32:37 +08:00
其实直接用 comtypes,或者 pywin 操作原文件还是比较简单的
sanjusss
2018-11-05 08:48:48 +08:00
可以调用 c++的[libxl]( http://www.libxl.com),这个库有多个平台,给钱的话也有源码。
614457662
2018-11-05 08:49:36 +08:00
mec
2018-11-05 09:26:06 +08:00
openpyxl
337136897
2018-11-05 09:32:57 +08:00
现在怎么都找现有的轮子
Rheinmetal
2018-11-05 10:15:50 +08:00
当成 xml 自己处理?
dawncold
2018-11-05 10:27:52 +08:00
如果你在 windows 平台上,可能有办法处理,参考这个看看有没有用: http://pythonexcels.com/python-excel-mini-cookbook/

非 windows 平台我觉得目前的库都不行( openpyxl,pyexcel )
omph
2018-11-05 10:59:41 +08:00
用 .net 做吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/504452

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX