Chinaunix

标题: 关于python修改excel的问题 [打印本页]

作者: izzy_sec    时间: 2013-06-03 16:57
标题: 关于python修改excel的问题
是用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中的所有特殊内容,如函数等。
作者: crifan    时间: 2013-06-04 10:00
本帖最后由 crifan 于 2013-06-04 10:12 编辑

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


作者: izzy_sec    时间: 2013-06-04 12:17
回复 2# crifan


    你整理的我在google搜到过,加上formatting_info=True可以实现基本的样式保存,但是一些公式函数没法保留,暂时决定用xlrd读出数据,然后用win32com进行修改,只是太依赖平台了。
作者: crifan    时间: 2013-06-05 09:57
izzy_sec 发表于 2013-06-04 12:17
回复 2# crifan
貌似是的。好像没法保留函数等格式。





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2