感觉是个挺常用的功能,但实在遍寻不到可用的轮子,有大神能指条明路嘛?
感谢各位的建议,目前进展如下:
使用了 openpyxl ,功能比较强大,可以修改内容。
但是仍旧有两个问题:
PS:很多人用excel并不会使用“表”,但其实转化过后的区域会有一些不错的特性。
操作方法是选中数据区域,按“Ctrl+T”,或者点“插入”选项卡,第三个“表格”。
1
JCZ2MkKb5S8ZX9pq OP 现在暂用的村炮方案是,把表格内容如下复制到剪贴板,然后手动黏贴一次。
a\t123\n b\t234\n ...\t...\n |
2
FullBridgeRect 2018-11-05 00:59:37 +08:00 via Android
openpyxl?
|
3
Sylv 2018-11-05 01:25:52 +08:00 via iPhone
试试 xlwings。
如果也满足不了你的需求的话,提供一个思路:在 Excel 里先用 VBA 写你想要的方法,例如在某位置设置某格式,然后用 xlwings 的 macro 方法去调用 VBA 方法,传入数据和参数。 https://docs.xlwings.org/en/stable/api.html#xlwings.Book.macro |
4
jimmyye 2018-11-05 02:21:46 +08:00
|
5
PythonAnswer 2018-11-05 06:26:47 +08:00
我觉得直接写 vba 会更快啊。只是 crud 数据,用 vba 更好。
|
6
janxin 2018-11-05 06:56:08 +08:00 via iPad
只要不是用 excel 原生功能的,多少都有问题。如果没有额外需求但是必须要 py 的话,建议直接生成一个新的
|
7
hanxiV2EX 2018-11-05 07:50:47 +08:00 via Android
造轮子吧,xlsx 格式比 xls 更好理解,zip 解压出来就是 xml,直接操作 xml 再 zip 压缩。
|
8
geelaw 2018-11-05 07:53:25 +08:00
Component Object Model
https://stackoverflow.com/questions/441758/driving-excel-from-python-in-windows |
9
weyou 2018-11-05 07:54:26 +08:00 via Android
openpyxl 支持有简单格式的 excel 文件的修改,但复杂格式会丢失
|
10
myhot21 2018-11-05 07:57:57 +08:00 via Android
python 操作 office 的所有开源库,看下哪一个合适: https://www.21doc.net/python/awesomepython
|
11
nicevar 2018-11-05 08:07:24 +08:00 via Android
Python 这方面没有好用的,都是鸡肋
|
12
canfoderiskii 2018-11-05 08:32:04 +08:00 via Android
用 vba
|
13
clker 2018-11-05 08:32:37 +08:00 via Android
其实直接用 comtypes,或者 pywin 操作原文件还是比较简单的
|
14
sanjusss 2018-11-05 08:48:48 +08:00
可以调用 c++的[libxl]( http://www.libxl.com),这个库有多个平台,给钱的话也有源码。
|
15
614457662 2018-11-05 08:49:36 +08:00
openpyxl https://www.yinkh.top/article/71/
|
16
mec 2018-11-05 09:26:06 +08:00
openpyxl
|
17
337136897 2018-11-05 09:32:57 +08:00
现在怎么都找现有的轮子
|
18
Rheinmetal 2018-11-05 10:15:50 +08:00
当成 xml 自己处理?
|
19
dawncold 2018-11-05 10:27:52 +08:00
如果你在 windows 平台上,可能有办法处理,参考这个看看有没有用: http://pythonexcels.com/python-excel-mini-cookbook/
非 windows 平台我觉得目前的库都不行( openpyxl,pyexcel ) |
20
omph 2018-11-05 10:59:41 +08:00
用 .net 做吧
|
21
xin053 2018-11-05 11:09:32 +08:00
openpyxl 挺好用的,不过也有些坑
|
22
zhaogaz 2018-11-05 11:11:30 +08:00
java 这边也没啥好用的,都很难受就是了。
|
23
lolizeppelin 2018-11-05 13:17:04 +08:00 via Android
python 没有库可以 应该也没有微软以外的库可以
你当 office 是啥 所以想要完整的应该只有 win 下 c#的才行 |
24
myyou 2018-11-05 14:55:17 +08:00
目前 golang 的有一个库,360 写的不错: https://github.com/360EntSecGroup-Skylar/excelize
https://xuri.me/excelize/zh-hans/ 你可以打包成".so"文件然后用 python ctype 去调用 |
25
largecat 2018-11-06 08:23:55 +08:00 via Android
vba 比较好,原生的
|
26
himan85 2018-11-15 16:19:08 +08:00 via iPhone
win32api ?
|