Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17994
  • 博文数量: 7
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-21 09:47
文章分类

全部博文(7)

文章存档

2010年(7)

我的朋友
最近访客

分类: Python/Ruby

2010-01-21 10:05:48

   应朋友要求,将一个较早开发的系统中的DBF文件导出到Excel表格,Google了以下,用Python写了一个小程序。使用从下载的python-2.6.4.msi,从dbfpy.sourceforge.net下载的dbfpy包dbfpy- 2.2.4.win32.exe,从sourceforge.net/projects/pywin32/下载的pywin32-214.win32- py2.6.exe,逐一安装。
  执行以下程序(自用,时间紧迫,没有设置围栏):

from dbfpy import dbf
from time import sleep
from win32com import client

def dbf2xls(dbfilename, exfilename):
    db = dbf.Dbf(dbfilename, True)
    ex = client.Dispatch('Excel.Application')
    wk = ex.Workbooks.Add()
    ws = wk.ActiveSheet
    ex.Visible = True
    sleep(1)

    r = 1
    c = 1
    for field in db.fieldNames:
        ws.Cells(r,c).Value = field
        c = c+1

    r = 2
    for record in db:
        c = 1
        for field in db.fieldNames:
            ws.Cells(r,c).Value = record[field]
            c = c+1
        r = r+1

    wk.SaveAs(exfilename)
    wk.Close(False)
    ex.Application.Quit()

    db.close()

if __name__=='__main__':
    dbffilename = "test.dbf"
    xlsfilename = "text.xls"
    dbf2xls(dbffilename, xlsfilename)


阅读(2535) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~