免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11947 | 回复: 3
打印 上一主题 下一主题

关于python修改excel的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-06-03 16:57 |只看该作者 |倒序浏览
是用xlrd、xlwt、xlutils模块进行修改已存在的excel表格,表格内包含了函数,字体格式,以及工作表保护等特殊格式,虽然使用xlutils能够修改内容,但是格式完全变了,如图对比:
修改之前带有格式,字体,以及对应的函数,修改之后只有数据,而没有相对应的函数或者其他特殊内容了。

  1. month = str(datetime.date.today())[5:7]              
  2.                                                      
  3. daiwei = open_workbook(xl_dwf, formatting_info=True)
  4. rs_daiwei = daiwei.sheet_by_index(0)                 
  5. wb_daiwei = copy(daiwei)                             
  6. ws_daiwei = wb_daiwei.get_sheet(0)                  
  7. ws_daiwei.write(3, 11, '15')                        
  8. wb_daiwei.save(month+u'月'+xl_dwf)                    
复制代码

部分代码如上。
想问一下如何才能在修改的同时保留原来excel中的所有特殊内容,如函数等。

论坛徽章:
0
2 [报告]
发表于 2013-06-04 10:00 |只看该作者
本帖最后由 crifan 于 2013-06-04 10:12 编辑

我之前折腾过类似的,
后来可以实现的效果是:
之前的格式,是可以保留的,至少我当时测试的字体是粗体和红色,是可以保留的。
详见:
【整理】Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据

论坛徽章:
0
3 [报告]
发表于 2013-06-04 12:17 |只看该作者
回复 2# crifan


    你整理的我在google搜到过,加上formatting_info=True可以实现基本的样式保存,但是一些公式函数没法保留,暂时决定用xlrd读出数据,然后用win32com进行修改,只是太依赖平台了。

论坛徽章:
0
4 [报告]
发表于 2013-06-05 09:57 |只看该作者
izzy_sec 发表于 2013-06-04 12:17
回复 2# crifan
貌似是的。好像没法保留函数等格式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP