999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

使用 xlwings 擴展 Excel

2017-03-17 23:45:49朱昱光王立翔賈浩松
價值工程 2017年7期

朱昱光+王立翔+賈浩松

摘要:Excel 是一款極其成功的電子表格軟件——所見即所得的編輯方式,豐富可擴展的公式系統(tǒng),功能齊全的圖表,邏輯清晰易于操作,保證了它在商業(yè)上的霸主地位。可供二次開發(fā)的 VBA,為 Excel 提供了更強大的技術后盾,為 Excel 擴展出無限種可能。不過,VBA 雖然強大,卻有著無法克服的缺點:核心函數(shù)庫不夠完善,第三方庫引入困難。本文從 xlwings 入手,通過在 Excel 中使用 Python,提供了另一種 Excel 擴展方式。

Abstract: Excel is an extremely successful spreadsheet software-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, 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 擴展;文檔管理

Key words: xlwings;Excel extensions;document management

中圖分類號:TP317.2 文獻標識碼:A 文章編號:1006-4311(2017)07-0175-03

0 引言

傳統(tǒng)上,擴展Excel主要使用VBA,VBA功能強大,在微軟生態(tài)圈應用廣泛。不過,VBA雖然強大,但也存在著一些缺點:核心函數(shù)庫不夠完善,第三方庫種類較少、引入困難,其弱類型的特點也使得程序難于調試。本文從Python庫xlwings入手,通過xlwings在Excel中使用Python,提供了另一種Excel擴展方式,提高了擴展效率。

1 xlwings 簡介

xlwings是一個Python庫。Python語言簡潔的語法,完善的基礎庫,豐富的web組件,強大的科學計算庫,可以為Excel提供超越VBA和Office的擴展能力。

xlwings封裝了Excel的工作表、工作簿、單元格以及Range和Selection等的調用支持,并提供了從Python調用宏,從宏調用Python,以及Python函數(shù)作為Excel公式的調用方法,滿足各種層次的操作需求。

1.1 xlwings引入方法

使用import xlwings as xw,即可在Python中操作 Excel。在VBA中調用Python,則需要在Excel開發(fā)工具中的VBA編輯器中導入xlwings.bas,該文件位于xlwings庫目錄中,該目錄可通過xw.__path__查詢。另外,通過命令行xlwings quickstart xlsname可直接創(chuàng)建包含了xlwings.bas的工作簿。

1.2 xlwings基礎操作

xlwings提供了多個層次的操作,大致分為App、Book、Sheet、Range以及Sharp、Chart、Picture、Name等其它操作。

App層次對應了Excel實例,App間互不干擾,可破除Excel不能同時打開同名工作簿限制。Book層次對應工作簿實例,Sheet層次對應工作表實例。以上三個層次均實現(xiàn)了Python和VBA形式,以下操作等價:Python形式,VB[1]A形式;xw.apps[0],xw.apps(1);xw.books[0],xw.books(1);xw.sheets[0],xw.sheets(1)。

除使用上述形式外,還可以通過Book('bookname')或Book('fullpath')的方式指定工作薄,通過Sheet('sheetname')的方式指定工作表。

Range是對Excel操作的主力,選擇方式如下:Python形式,VBA形式;Range((1,1)),Range('A1');Range((1,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函數(shù)可在相應方向上將選框移動到末尾,參數(shù)'up''down''left''right'分別相當于Ctrl+Up,Ctrl+down,Ctrl+left,Ctrl+right。

使用expand函數(shù)可在相應方向上擴展選區(qū),參數(shù)'down','right','table'分別相當于向下方擴展選區(qū),向右方擴展選區(qū),向下方和右方同時擴展選區(qū)。

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')即可。

在Python中調用VBA,可在App,Book或Sheet中使用macro('macroname')來獲得VBA macro函數(shù)。

Sharp、Chart、Picture等篇幅所限,不再介紹。

2 以文檔管理為例

由于GUI程序天然的復雜性,即使使用了MVC技術,也難于應用在快速變化,且不需要特別嚴格管理的信息系統(tǒng)。而數(shù)據(jù)庫過于笨重,在形成一套穩(wěn)定,完整,容錯,靈活性兼具的流程之前,使用擴展的Excel,可以顯著減少人為操作的失誤。用Excel所見即所得的特性,以及自帶的編輯功能,加上Python,即可將一張Excel表格,變成簡單,實用,擴展性大大加強的綜合信息管理程序。

使用三張表管理文檔,info存放文檔項目信息,config存放配置和自動編號信息,log存放文檔生成記錄。數(shù)據(jù)以二維方式存放,每行為一個項目,每列為一種分項。在Excel中,把每一列定義為一個名稱,xlwings自Excel操作數(shù)據(jù)時,先選定行,對每一個必須的名稱,定位至該行,讀取或寫入數(shù)據(jù),然后操作下一個。

數(shù)據(jù)查看、查詢、修改,均在Excel中完成。

在防雷工作中,存在著大量中間文檔,包括卷宗、受理通知書、受理回執(zhí)、技術評價、核準審批表、審核證書、辦結通知、送達回證、辦結報告等。這些文檔共享著項目名稱、申報單位、項目地址、受理編號等等信息,若每次都手工編排,會浪費大量時間,通過使用xlwings和python docx模板庫,可以自動生成這樣的文檔。

數(shù)據(jù)添加,由于文檔需要自動編號,設置“創(chuàng)建項目文件夾”按紐,點擊后自動編號,根據(jù)編號創(chuàng)建項目文件夾,添加受理日期等信息。如圖1管理界面所示。

數(shù)據(jù)按行錄入,錄入完成后,可以點擊“打印”按鈕,呼出生成界面,如圖2所示。選擇相應文檔后,點擊“更新并打開”,可將相應信息通過事先設置好的模板(如圖3所示),生成相應的docx文檔(如圖3所示),并自動保存,生成記錄保存在log表中。

文檔查看,使用vba功能實現(xiàn)文檔查看。

3 總結與展望

本文利用xlwings擴展Excel,基本實現(xiàn)了對防雷文檔的管理工作,可極大減少人為操作,以及人為操作帶來的失誤。由于python完善的基礎庫,豐富的web組件,下一步可配合使用微軟VTSO技術,為Excel制訂專用標簽欄;在數(shù)據(jù)中包含geojson,配合flask等python Web框架,直觀顯示帶地理信息的項目情況。

參考文獻:

[1]薛江蕓.EXCEL在中小企業(yè)會計工作中的應用和創(chuàng)新[J].價值工程,2013.

[2]費春梅.Excel在信息管理方面的應用[J].價值工程,2010,01.

[3]李曉玫,楊小平.Excel中的VBA程序設計[J].四川師范大學學報(自然科學版),2004(04).

[4]劉雍,李蘊.Excel的功能擴展方法初探[J].瓊州學院學報,2007(05).

[5]馬倩.電子表格在商務辦公中的拓展應用研究[J].價值工程,2012(06).

主站蜘蛛池模板: 视频一本大道香蕉久在线播放| 成人国产精品网站在线看 | 国产免费久久精品99re不卡 | 99精品在线视频观看| 久草热视频在线| 91九色视频网| 国产高清色视频免费看的网址| av大片在线无码免费| 国产成人8x视频一区二区| 国产精品一区在线观看你懂的| 色吊丝av中文字幕| 日韩精品一区二区三区swag| 欧美色伊人| 中文字幕欧美日韩| 久久男人视频| 日本成人不卡视频| 亚洲日韩AV无码一区二区三区人| 午夜日韩久久影院| 萌白酱国产一区二区| 一级片免费网站| 99青青青精品视频在线| 尤物在线观看乱码| 很黄的网站在线观看| 国产亚洲欧美在线专区| 色综合天天操| 71pao成人国产永久免费视频| 99热这里只有精品免费国产| 久久无码av三级| 91在线中文| 久久无码av三级| 日本草草视频在线观看| 亚洲色无码专线精品观看| 免费在线a视频| 久久久精品国产亚洲AV日韩| 国产美女精品在线| 二级特黄绝大片免费视频大片| 久久久久亚洲AV成人网站软件| 91免费国产在线观看尤物| 国产91成人| 久久综合干| 久久久久久国产精品mv| 一级毛片在线直接观看| 日韩毛片在线播放| 国产在线精品香蕉麻豆| 看av免费毛片手机播放| 色婷婷亚洲十月十月色天| 不卡无码h在线观看| 九色视频一区| 午夜视频日本| 国产91av在线| 久久综合九九亚洲一区| 狠狠五月天中文字幕| 欧美亚洲另类在线观看| 国内精品视频区在线2021| 狠狠色噜噜狠狠狠狠奇米777| 免费人成又黄又爽的视频网站| 亚洲三级视频在线观看| 欧美精品v欧洲精品| 亚洲国产亚洲综合在线尤物| 操国产美女| 黄色一及毛片| 亚洲AV一二三区无码AV蜜桃| 免费A∨中文乱码专区| 日韩精品亚洲精品第一页| 亚洲精品福利视频| 中文字幕一区二区视频| 综1合AV在线播放| 亚洲精品无码不卡在线播放| 青青草国产免费国产| 精品无码一区二区三区电影| 国产成人毛片| 亚洲综合婷婷激情| 国产毛片不卡| 日本在线视频免费| 欧美成人看片一区二区三区| 国产精品女熟高潮视频| 综合久久五月天| 欧美日韩专区| 亚洲三级a| 欧美日韩一区二区在线播放 | av尤物免费在线观看| 尤物视频一区|