感觉是个挺常用的功能,但实在遍寻不到可用的轮子,有大神能指条明路嘛?
感谢各位的建议,目前进展如下:
使用了 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 ? |