使用 xlwings 扩展 Excel.doc

上传人:gs****r 文档编号:3169477 上传时间:2019-05-24 格式:DOC 页数:6 大小:29.50KB
下载 相关 举报
使用 xlwings 扩展 Excel.doc_第1页
第1页 / 共6页
使用 xlwings 扩展 Excel.doc_第2页
第2页 / 共6页
使用 xlwings 扩展 Excel.doc_第3页
第3页 / 共6页
使用 xlwings 扩展 Excel.doc_第4页
第4页 / 共6页
使用 xlwings 扩展 Excel.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、1使用 xlwings 扩展 Excel摘要:Excel 是一款极其成功的电子表格软件所见即所得的编辑方式,丰富可扩展的公式系统,功能齐全的图表,逻辑清晰易于操作,保证了它在商业上的霸主地位。可供二次开发的 VBA,为 Excel 提供了更强大的技术后盾,为 Excel 扩展出无限种可能。不过,VBA 虽然强大,却有着无法克服的缺点:核心函数库不够完善,第三方库引入困难。本文从 xlwings 入手,通过在 Excel 中使用 Python,提供了另一种 Excel 扩展方式。 Abstract: Excel is an extremely successful spreadsheet sof

2、tware-WYSIWYG editing, rich and scalable formula system, full-featured charts, logical clear and easy to operate, to ensure its commercial dominance. For the secondary development of the VBA, Excel provides a more powerful technical support for Excel to expand out of infinite possibilities. However,

3、 VBA, although powerful, but it has insurmountable shortcomings: the core library is not perfect, the introduction of third-party library difficult. This article from the xlwings, through the use of Python in Excel, Excel provides another way to expand. 关键词:xlwings;Excel 扩展;文档管理 2Key words: xlwings;

4、Excel extensions;document management 中图分类号:TP317.2 文献标识码:A 文章编号:1006-4311(2017)07-0175-03 0 引言 传统上,扩展 Excel 主要使用 VBA,VBA 功能强大,在微软生态圈应用广泛。不过,VBA 虽然强大,但也存在着一些缺点:核心函数库不够完善,第三方库种类较少、引入困难,其弱类型的特点也使得程序难于调试。本文从 Python 库 xlwings 入手,通过 xlwings 在 Excel 中使用Python,提供了另一种 Excel 扩展方式,提高了扩展效率。 1 xlwings 简介 xlwings

5、 是一个 Python 库。Python 语言简洁的语法,完善的基础库,丰富的 web 组件,强大的科学计算库,可以为 Excel 提供超越 VBA 和Office 的扩展能力。 xlwings 封装了 Excel 的工作表、工作簿、单元格以及 Range 和Selection 等的调用支持,并提供了从 Python 调用宏,从宏调用Python,以及 Python 函数作为 Excel 公式的调用方法,满足各种层次的操作需求。 1.1 xlwings 引入方法 使用 import xlwings as xw,即可在 Python 中操作 Excel。在 VBA中调用 Python,则需要在

6、Excel 开发工具中的 VBA 编辑器中导入xlwings.bas,该文件位于 xlwings 库目录中,该目录可通过xw._path_查询。另外,通过命令行 xlwings quickstart xlsname 可3直接创建包含了 xlwings.bas 的工作簿。 1.2 xlwings 基?A 操作 xlwings 提供了多个层次的操作,大致分为App、Book、Sheet、Range 以及 Sharp、Chart、Picture、Name 等其它操作。 App 层次对应了 Excel 实例,App 间互不干扰,可破除 Excel 不能同时打开同名工作簿限制。Book 层次对应工作簿实

7、例,Sheet 层次对应工作表实例。以上三个层次均实现了 Python 和 VBA 形式,以下操作等价:Python 形式,VB1A 形式;xw.apps0,xw.apps(1) ;xw.books0,xw.books(1) ;xw.sheets0,xw.sheets(1) 。 除使用上述形式外,还可以通过 Book(bookname)或Book(fullpath)的方式指定工作薄,通过 Sheet(sheetname)的方式指定工作表。 Range 是对 Excel 操作的主力,选择方式如下:Python 形式,VBA 形式;Range(1,1) ) ,Range(A1) ;Range(1,

8、1) , (3,3) ) ,Range(A1:C3) ;Range(Range(1,1) ) ,Range(3,3) ) ) ,Range(A1:C3) 。此外,VBA 形式还支持 Range(A:B) 、Range(2:4) 、Range(Name) 、Range(A1,C:C,A8) 。 使用 end 函数可在相应方向上将选框移动到末尾,参数updownleftright分别相当于Ctrl+Up,Ctrl+down,Ctrl+left,Ctrl+right。 使用 expand 函数可在相应方向上扩展选区,参数4down,right,table分别相当于向下方扩展选区,向右方扩展选区,向下

9、方和右方同时扩展选区。 Range(rng).value 对应 rng 的值。Range(rng).formula 对应rng 的 Excel 公式。 Name 分为两种,工作簿级和工作表级,可通过 Book(bookname).names 和 Sheet(sheetname).names 操作。Name 的 refers_to 属性对应 Excel 公式,refers_to_range 对应相应的Range。 在 VBA 中调用 Python 必须引入 xlwings.bas,在 VBA 中调用RunPython(import model;model.functions)即可。 在 Pyth

10、on 中调用 VBA,可在 App,Book 或 Sheet 中使用macro(macroname)来获得 VBA macro 函数。 Sharp、Chart、Picture 等篇幅所限,不再介绍。 2 以文档管理为例 由于 GUI 程序天然的复杂性,即使使用了 MVC 技术,也难于应用在快速变化,且不需要特别严格管理的信息系统。而数据库过于笨重,在形成一套稳定,完整,容错,灵活性兼具的流程之前,使用扩展的Excel,可以显著减少人为操作的失误。用 Excel 所见即所得的特性,以及自带的编辑功能,加上 Python,即可将一张 Excel 表格,变成简单,实用,扩展性大大加强的综合信息管理程

11、序。 使用三张表管理文档,info 存放文档项目信息,config 存放配置和自动编号信息,log 存放文档生成记录。数据以二维方式存放,每行为一个项目,每列为一种分项。在 Excel 中,把每一列定义为一个名称,5xlwings 自 Excel 操作数据时,先选定行,对每一个必须的名称,定位至该行,读取或写入数据,然后操作下一个。 数据查看、查询、修改,均在 Excel 中完成。 在防雷工作中,存在着大量中间文档,包括卷宗、受理通知书、受理回执、技术评价、核准审批表、审核证书、办结通知、送达回证、办结报告等。这些文档共享着项目名称、申报单位、项目地址、受理编号等等信息,若每次都手工编排,会浪

12、费大量时间,通过使用 xlwings 和python docx 模板库,可以自动生成这样的文档。 数据添加,由于文档需要自动编号,设置“创建项目文件夹”按纽,点击后自动编号,根据编号创建项目文件夹,添加受理日期等信息。如图 1 管理界面所示。 数据按行录入,录入完成后,可以点击“打印”按钮,呼出生成界面,如图 2 所示。选择相应文档后,点击“更新并打开” ,可将相应信息通过事先?O 置好的模板(如图 3 所示) ,生成相应的 docx 文档(如图 3所示) ,并自动保存,生成记录保存在 log 表中。 文档查看,使用 vba 功能实现文档查看。 3 总结与展望 本文利用 xlwings 扩展

13、Excel,基本实现了对防雷文档的管理工作,可极大减少人为操作,以及人为操作带来的失误。由于 python 完善的基础库,丰富的 web 组件,下一步可配合使用微软 VTSO 技术,为 Excel 制订专用标签栏;在数据中包含 geojson,配合 flask 等 python Web 框架,直观显示带地理信息的项目情况。 6参考文献: 1薛江芸.EXCEL 在中小企业会计工作中的应用和创新J.价值工程,2013. 2费春梅.Excel 在信息管理方面的应用J.价值工程,2010,01. 3李晓玫,杨小平.Excel 中的 VBA 程序设计J.四川师范大学学报(自然科学版) ,2004(04). 4刘雍,李蕴.Excel 的功能扩展方法初探J.琼州学院学报,2007(05). 5马倩.电子表格在商务办公中的拓展应用研究J.价值工程,2012(06).

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 学科论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。