python 用xlrd及xlutils模块 复制excel文件

我用xlrd打开一个模板文件,xlutils.copy复制它,再用新值填充它,并保存它。 然而,似乎没有任何简单的方法来保护单元格的格式,wlrd高版本后无复制其单元的格式。只能复制它的文本信息。 以下为一个简单的复制excel文件程序;

#!/usr/bin/env python
# -*- coding: utf-8 -*-”               #只对当前文件的中文编码有效                                               
#Create by zhizaiqianli 2015-11-15  Version V1.0
#!/usr/bin/python
# Filename : txt_to_excel.py
import os
import xlrd
from xlutils.copy import copy
from Mymodule import cur_file_dir      #获取文件的路径函数
path_py = "\\excel\example_BOM.xls"    #以.py文件运行时读取excel时的路径
path_exe = "..\excel\example_BOM.xls"  #以.exe文件运行时读取excel时的路径
path = cur_file_dir(path_py,path_exe)  #获取到需要复制excel文件的路径
print path                             #打印excel文件路径
rbook = xlrd.open_workbook(path)       #读取excel文件,只能读取内容无法读取excel格式信息
wbook = copy(rbook)                    #复制excel
wsheet = wbook.get_sheet(0)            #通过get_sheet()获取的sheet有write()方法
wsheet.write(5, 0, 'changed!')         #在sheet 0的第六行第一列写入changed
wbook.save('temp_BOM.xls')             #保存复制修改过的excel
raw_input("Enter enter key to exit...")#插入输入的命令,.exe运行时不会一闪而过,方便查看打印信息

以cmd命令运行程序结果如下:
python 用xlrd及xlutils模块 复制excel文件_第1张图片

其中调用自己编写的读取文件路径的模块,编写好自己模块编译通过后,把模块.py和.pyc文件放入Python\Lib\site-packages\mymodule路径下,mymodule为我自己命名的文件夹;模块信息如下:

!/usr/bin/env python
#encoding=utf-8
#Create by zhizaiqianli 2015-11-15  Version V1.0
#!/usr/bin/python
#description:区分以脚本运行时和以exe读取文件时兼容性问题
# Filename : cur_file_dir.py
import os,sys
def cur_file_dir(path_py,path_exe):                                 #获取脚本文件的当前路径
    path = sys.path[0]                                              #获取脚本路径
    #判断为脚本文件还是py2exe编译后的文件,如果是脚本文件,则返回的是脚本的目录,如果是py2exe编译后的文件,则返回的是编译后的文件路径
    if os.path.isdir(path):
        return path+path_py
    elif os.path.isfile(path):
        return os.path.dirname(path)+path_exe

你可能感兴趣的:(Python)