在工作中,我們如何利用python快速生成word報表呢?
快來看看吧,基本就三步,你說你說難不難?
利用pychartdir庫生成一個條形圖
首先需要導入pychartdir庫
我們以生成一個條形圖為例子:
結果為一張圖片:
2.我們在word中如果只是引用路徑,那麼生成的word就會出現找不到圖片,此時,我們應該使用下面這個函數將圖片轉化為字節數據:
此時我們就拿到了我們想要的數據
我們可以將所需要畫圖的封裝成一個工具類,只留取數據接口比如:
二
然後使用office辦公軟件編寫所需要的模板word,另存為xml文件
1.使用office軟件編寫一個所需要的word模板,編寫好之後選擇另存,類型選擇為xml文件。
2,使用sublime或者其他文本編輯打開xml文件,在模板相應位置替換成渲染的數據模型,具體語法和Django模板的語法基本一致,如:
三
利用jinja2庫渲染修改好的模板,然後寫入.doc文件即可
1.導入jinja2模塊和相應模塊
2.加載我們剛剛編輯好的word模板
3.打開和渲染模板
其中w_id和w_pname屬性是word圖片的屬性,只要每一張圖片id name唯一即可
全部代碼如下:
運行代碼,即可生成我們想要的word報表
參考資料及其鏈接:
Jinja2 安裝:
pychartdir 安裝:
Python 中要使用pychartdir的繪圖的話需要安裝pychartdir模塊,其安裝方法不同於其他python模塊的安裝。
1.先下載pychartdir,可從官網 http://www.advsofteng.com/download.html 下載對應的zip包
2.解壓後的doc目錄下有一個pychartdir.chm幫助文檔
3.幫助文檔中Installation中有描述安裝的方法:
在python的安裝目錄下的Libsite-packages目錄下新建chartdirector目錄
將解壓後的ChartDirectorlib目錄下的所有文件複製到前面創建chartdirector目錄下
在site-packages目錄下新建一個chartdirector.pth文件,記事本打開,裡面添加chartdirector,保存退出
4.打開python IDE,輸入from pychartdir import *,如果導入成功則說明安裝成功,可正常使用pychartdir
pychartdir API及其demo
http://www.advsofteng.com/doc/cdcfdoc/#cover.htm
Jinja2文檔
你們覺得它難嗎?