Tribon Vitesse开发教程(七)

来源:互联网 发布:js获取ie滚动条位置 编辑:程序博客网 时间:2024/05/03 16:59

easyExcel.py用来操作Excel文件,这个模块取自《Python Programming onWin32》这本书,增加了一些方法。这个模块使用后置绑定的方式调用COM,前面提到过还有前置绑定。Python的前置绑定是在PythonWin里面,选择Tools-COMMakepy utility在弹出窗口选择要前置绑定的选项,即生成一个py文件,根据提示可到路径中找到这个文件,并重命名它:

Generating toC:\Python23\lib\site-packages\win32com\gen_py\78165D71-DF28-11D3-9A89-005004A56D53x0x1x0.py
Building definitions from type library...
Generating...
Importing module

使用这个模块就用import导入即可。使用前置绑定可以提高速度。但是在用户环境不确定的情况下使用前置绑定会遇到兼容性问题。比如Excel2003和Excel2007的前置绑定文件不一样,就可能产生问题。此外,最近还发现由于PythonWin的版本不一样生成的py文件也不一样,造成问题。所以就这个问题来看,使用后置绑定更好。

在管支架材料表程序中有一个Excel文件模板,这个模板不是Excel称之的模板,而是我们用来创建材料表的。这么做的好处是事先定义好了报表的格式,节省了代码生成格式的麻烦。此外,由于报表使用者是设计人员,在开发和设计是两个人的情况下,可以让设计人员直接完成报表的设计工作,节约开发时间。

在对Excel文件写入数据的时候尽量使用setRange方法,而不要使用setCell对单元格进行操作。因为经过测试,写入同样的数据,setRange比setCell快很多很多。

从PySQLite获得的数据可直接通过setRange方法写入到Excel文件中,只需要传入首个数据的位置及工作簿名称,如:

xl.setRange(sheetName, 7, 2, data)

需要序列填充项,可使用fillNumbers方法按照数据的长短自动以整数累计填充。

从代码中可以看到,即使是表头信息,我也是先构成一个List然后以setRange写入到Excel中的。

写入数据之后使用saveShow方法既可以保存当前操作的Excel对象,又可以将Excel文件展示给设计人员便于继续更改。

TribonVitesse开发教程至此告一段落,前前后后也拖了很长时间。感谢在这个过程中给予我帮助,鼓励我,提出问题,交流问题的朋友们!我会总结前面的经验教训,陆陆续续再发其他相关博文。

0 0
原创粉丝点击