EAD: Bandit Johnson

Technology and skills (Team/Process/Technology) on Enterprise Application Development, especially those on Agile Software Development, XP, J2EE/Python and Patterns.
    <<  IT人的简单生活 | 首 页 | 技术负债(Tech debt)的分类  >>

    2009-10-23

    win32com用来转换Excel文件 - [Python]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://johnsonqu.blogbus.com/logs/48978125.html

    首先,我要承认的是,昨天做得事情其实停无聊的,是为了生成甘特图来着...,准确地说是利用Excel来维护一个FUNCTION GROUP的所有项目的信息(任务,启动/完成时间,完成状态等等),因为不是所有的人都有MS Project的license,然后,再导入到Project里面生成甘特图。

    要实现这个功能,当然还是用我熟悉的Python,再加上win32com的库(要操作office,非它莫属)。做法很简单,就是把Excel的xls文件中间的一个worksheet,转换成cvs文件,然后,再利用正则解析出需要的信息,生成一个新的符合Project导入需求的cvs,然后,再利用win32com生成xls文件。最后一步,Project打开xls文件没有在脚本里面作,有个import wizard要处理,比较复杂,还是放放吧。

    昨天碰到的主要的问题,是SaveAs的时候,指定FileFormat,Google上查到的24/6等数字,不能用,:(。在我就要放弃的时候,还是Google救了我,提示去看看testMSOffice.py($PYTHON_SITE_PACKAGES\win32com\test路径下),需要用以下语句来SaveAs就好了:

    mod = gencache.EnsureModule("{00020813-0000-0000-C000-000000000046}", 0, 1, 2, bForDemand=1)

    workbook.SaveAs(os.path.join(folder_name, to_import_xls_file), FileFormat = mod.constants.xlNormal)

    写到这里,我忍不住还是要骂娘,没有上面的EnsureModule操作,constants是那不到内容的...,什么API的设计阿?


    历史上的今天:

    值得关注的两本书 2006-10-23
    你的灯亮者吗? 2003-10-23

    随机文章:

    翻墙翻墙@python&swiftfox 2009-11-03
    利用Python批量转换Word文档生成reStructuredText文档 2009-09-23
    RestructedText用来写文档 2009-09-10
    [FW]Tools of the Modern Python Hacker: Virtualenv, Fabric and Pip. 2009-07-10
    Python的高级特性在Django中的使用 2009-06-15

    收藏到:Del.icio.us




    Tag:Python csv_xls_convert
    引用地址:
    johnsonqu 发表于09:04:50 | 编辑 | 继续话题 | 转发 | 分享 0

个人资料

johnsonqu

日历

搜索

管理

  • 进入后台 写新日志
  • 文章管理 评论管理
  • 更换模板 访问统计

文章分类

  • 杂七杂八[103]
  • Ajax[15]
  • 伤寒[0]
  • 五运六气[1]
  • Ubuntu[15]
  • Python[96]
  • 敏捷软件开发[47]
  • XP与相关工具[20]
  • 最近技术热点[26]
  • 项目进展[21]
  • 项目开发技术[91]
  • 读书笔记[110]
  • 项目管理[54]
  • PS2[6]

Tag

  • Python[18]
  • Django[13]
  • Ubuntu[9]
  • Agile[8]
  • Vim[8]
More..

最新文章

  • [ZT]团队的心
  • Just make it & Manager's role in the team
  • Buy in Vs. Follow up
  • 非完美世界的敏捷
  • 敏捷测试
  • 我的那朵云在那里?
  • GQ中的阉文--打倒土豪劣绅
  • 我爱豆瓣音乐
  • 翻墙翻墙@python&swiftfox
  • 终于把UBUNTU的ROOT空间扩大了...
全部日志>>

最新评论

  • david:你和我的爱好很像!
  • t:在不能FQ之前,你提供的这篇文章"http:/...
  • johnsonqu:呵呵,我之前在810里面也是使用NAT就可以了。不过,有...
  • Brent Jiang:ubuntu9.04不需要这么复杂的设置,直接使用NAT...
  • femto:osworkflow好像很简单吧?...
  • MS:就2个链接吗?
  • 中国银行:否则,早就支持外资银行了...
  • johnsonqu:谢谢您的消息,回头我去瞅瞅。...
  • ray:http://www.china-pub.com/192...
  • 泰稳:谢谢Johnsonqu对InfoQ中文站内容的认可,你可...

链接

  • Femto's Blog
  • Limodou的学习记录
  • 江南布衣
  • XLP223
  • 酷壳

存档

  • 2009 [85]
  • 2008 [18]
  • 2007 [146]
  • 2006 [144]
  • 2005 [76]
  • 2004 [127]
  • 2003 [14]
  • RSS 什么是RSS?
    用IM提醒我内容更新
    订阅到QQ邮箱
    订阅到鲜果阅读器
    订阅到Google阅读器
    订阅到抓虾阅读器
  • 《城客》第四期:创意之城
    博客大巴
    博客大巴使用指南
    博客大巴模板中心
    免费注册博客大巴
    一键博客搬家工具
    中文互动杂志城客
Copyright © 2002-2009 BlogBus.com, All Rights Reserved. 博客大巴 版权所有
博客大巴模板设计:Green Emotionless Kid | 作者:iZ