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).

主站蜘蛛池模板: 国产成人综合亚洲网址| 亚洲视屏在线观看| 第一页亚洲| 激情六月丁香婷婷四房播| 天天色天天操综合网| 国产大片喷水在线在线视频| 四虎国产永久在线观看| 天天干天天色综合网| 亚洲IV视频免费在线光看| 2022精品国偷自产免费观看| 蜜芽国产尤物av尤物在线看| 人妻21p大胆| 国产成人无码综合亚洲日韩不卡| 99热这里只有精品国产99| 国产综合网站| 国内精品视频在线| 日本精品视频| 日韩欧美色综合| 国产99免费视频| 2021最新国产精品网站| 久热99这里只有精品视频6| 国产精品高清国产三级囯产AV| 国产精品妖精视频| 久久精品国产电影| 另类重口100页在线播放| 9999在线视频| 色有码无码视频| 女人av社区男人的天堂| 试看120秒男女啪啪免费| 天堂成人在线| 中文字幕一区二区视频| 亚洲国产精品无码AV| 日韩欧美国产中文| 香蕉蕉亚亚洲aav综合| av天堂最新版在线| 欧美高清三区| 直接黄91麻豆网站| 无码精油按摩潮喷在线播放 | 五月婷婷激情四射| 亚洲人成人无码www| 久久精品午夜视频| 国模极品一区二区三区| 精品中文字幕一区在线| 国产女人喷水视频| 无码高潮喷水专区久久| 精品久久777| 国产亚洲欧美日韩在线一区二区三区| 婷婷综合缴情亚洲五月伊| 伊人无码视屏| 91在线一9|永久视频在线| 97视频在线精品国自产拍| 亚洲综合中文字幕国产精品欧美| 国产美女主播一级成人毛片| 天天综合网色| 久久人妻xunleige无码| 天天视频在线91频| 亚洲天堂在线免费| 欧美一区中文字幕| 亚洲AⅤ波多系列中文字幕| 色婷婷亚洲综合五月| 91精品国产情侣高潮露脸| 亚洲福利一区二区三区| 国产女人水多毛片18| aa级毛片毛片免费观看久| 亚洲精品男人天堂| 一级毛片在线播放| 91一级片| 国产精品亚洲日韩AⅤ在线观看| 亚洲伊人久久精品影院| 一区二区自拍| 蜜桃臀无码内射一区二区三区| 午夜不卡视频| 一级毛片免费播放视频| 97精品国产高清久久久久蜜芽| 久草网视频在线| 亚洲第一黄色网址| 亚洲国产高清精品线久久| 免费午夜无码18禁无码影院| 国产情精品嫩草影院88av| 国产美女自慰在线观看| 亚洲人妖在线| 久久人人爽人人爽人人片aV东京热 |