python office自动化_Python与Microsoft Office自动化操作

Python与Microsoft Office自动化操作

http://www.cnblogs.com/Jedimaster/archive/2007/02/28/660209.html

朋友的家人做生意,每日从各地分店处收集报表,然后回去汇总。由于不想用那种复杂的管理软件,就叫他写一个小工具。于是他找到了我,让我想想办法。

Python是个令人惊奇的工具,而不仅仅是一种语言。对比老牌的Perl,看似Python不是那么的精通 —— 对比Perl超快的文本处理速度和广泛应用于Cgi程序的编写历史,以及目前大红大紫的Ruby在Web开发上的病毒式蔓延,而比起静态语言比如C\C++,虚拟机Java和C#来说,速度又成了问题。但是Python的实力可不容小视,NASA都用Python可不是吹的,况且,Python的学习难度比Perl小多了,刚学时让我找到了以前QBASIC的感觉。

此程序具体要求如下:每日产生副表若干(如副表文件)。程序先核对附表的日期和销售点。如果销售点不同日期相同,便把不同副表的相同产品号的 “销售数量”栏相加,填入总表“销售数量”栏。将副表的“总利润”栏相加填入总表的“总利润”栏。其他副表信息复制到总表(备注除外,由用户自行处理)。表头的样式如下:

啊哈,很简单的表头。其中需要操作的是“销售数量”和“总利润”,也就是把相同时间的报表相加。但是这样有个严重问题!

必须要求,相同报表的产品名称、货号的顺序不能出错,各地要绝对统一,否则全部这样照样拷贝就会出错!

让我们分析一下思路:时间是关键。时间决定了哪些报表需要分门别类,生成哪一天的统计总表。数据结构上,用什么呢?简单的list?不行,我尝试过。应该使用map容器,把日期作为key,储存的Value是个列表。程序先扫描所有的Excel文件获取日期,然后把相同日期报表的COM文档接口储存起来,实现了分门别类。最后遍历这个map容器,计算,生成每日的统计总表。代码如下,经过测试正常。

1import os;

2import sys;

3import time;

4import datetime;

5#请先安装对应着你自己的Python版本的PythonWin32

6import win32com.client;

7

8

9mapper = {};

10

11app = win32com.client.Dispatch("Excel.Application");

12PipeOut = os.popen("dir *.xls /B");

13FileList = PipeOut.readlines();

14PipeOut = os.popen("cd

相关文档:

#!/usr/bin/env python

#coding=utf-8

def buildConnectionString(params):

return ":".join(["%s=%s" %(k, v) for k, v in params.items()])

if __name__ == "__main__":

myParams = {"server":"mpilgrim", \

&nbs ......

在Windows里搭建Python的GTK+环境还是比较麻烦的有以下几个注意事项

1、PyGTK网站上下的包,可能没有Glade类(Lib\site-packages\gtk-2.0\gtk目录下没有glade.pyd),如果没有这个类你就无法在程序里导入Glade工具创建的xml,手写界面还是挺麻烦的。

2、GTK网站上的GTK包,没有包括Glade的DLL文件,还是无法读入Glade的xm ......

1.Python中时间函数有几种不同的表示方法。一种是基于数字的表示方法,另外一种是用一系列值来表示,第三种是用ASCII码字符串的可读形式来表示的元组。 time()函数返回的是从某一时间点算起的秒数,该数值是一个浮点数。根据操作系统的不同,这个时间点也不同。通过求localtime(0)的值可以找到系统的该时间点。 localtime ......

下面是对某文件夹下多个文件下指定文件换名字的实例(为了换名字,因为懒得手动改,折腾了一会搞出来的)

原理很简单,换文件名的话指定path就行 ,具体的自己看吧,仅供参考!

#-*- coding:utf-8 -*-

import os,sys

#=======================================

##对多个文件夹下的文件(夹)进行处理

#============ ......

既然选择了远方,就必须日夜兼程 http://wrsuifeng.javaeye.com

Python代码

# Filename: excel.py

import os,sys,time

import win32com.client

import traceback

excel = win32com.client.Dispatch(" ......

你可能感兴趣的:(python,office自动化)