跳到主要內容

Django使用xlsxwriter匯出excel報表簡單範例

最近在學習django剛好需要用到下載excel的功能,在網路上找到了一些資料,整理成筆記放在這邊給大家也給以後的自己參考。

1. 使用xlsxwriter來進行實作,可以使用 pip install xlsxwriter來安裝。(本次實作使用之python版本為3.6)

2. 簡單view程式範例
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
import io
import xlsxwriter #記得多import這兩項

def excel(request):
    output = io.BytesIO()  #用BytesIO 來存我們的資料
    workbook = xlsxwriter.Workbook(output)  #用xlsxwriter.Workbook來開啟我們剛剛建立的BytesIO
    worksheet = workbook.add_worksheet()  #新增一個sheet
    row = 0
    col = 0
    worksheet.write(row, col,     “1” )
    worksheet.write(row, col + 1,  “2” )
    worksheet.write(row, col + 2,  ”3” )  #在某行某列加入資料

    workbook.close()  #把workbook關閉

    output.seek(0)
response = HttpResponse(output.read(),content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    response['Content-Disposition'] = "attachment; filename=excel.xlsx"
#定義本函數對應之response為下載檔案excel.xlsx

    return response
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

3. 記得到url.py新增條目    url(r'^exccel/$', excel),

4. Runsrver後到127.0.0.1/excel 就能夠下載我們剛剛建立的檔案了!

留言

這個網誌中的熱門文章

在Windows系統下使用Mosquiito MQTT broker

Mosquitto 是一個開放原始碼MQTT broker,可以安裝於Windows環境下但會缺少許多dll文件,詳細的安裝方式可以參考 http://www.steves-internet-guide.com/install-mosquitto-broker/ 。安裝完成後開啟mosquitto.exe就開始執行broker了。另外需要以管理員身分開啟兩個CMD命令視窗用來模擬Subscriber及Publisher。 Subscriber: 使用命令  cd C:\Program Files (x86)\mosquitto  進入mosquitto資料夾,在該路徑下輸入  mosquitto_sub -t test 來進行對topic的subscribe,這裡我subcribe的topic是test。 Publisher: 使用命令  cd C:\Program Files (x86)\mosquitto  進入mosquitto 資料夾,在該路徑下輸入 mosquitto_pub -h 127.0.0.1 -p 1883 -t test -m "test" 來publish資料,其中 –h 後接的是broker的ip位址,在這裡我直接使用local host;-p 後接的是連接埠,MQTT預設的埠口是1883;-t後接的是topic名稱;-m後接的則是要傳送的massage。 若要讓外部成功連上MQTT broker 需要在防火牆上允許連接埠1883的輸入輸出。在防火牆->進階設定中新增允許1883 port的TCP接入就能讓外部的MQTT client接上MQTT broker了。 本次測試使用的client為android平台上的MQTT Dash,在該App上直接設置MQTT broker的ip及port就能連上剛剛建立的Mosquito MQTT broker了。 也可以選擇在其他PC上運行Chrome的MQTTlens作為client進行測試。或是在其他PC上運行mosquitto的client實測。 參考資料: [1]    How to Install The Mosquitto MQTT Broker- Windows and L...

免費線上3D製圖工具-TinkerCad (二) 基本操作解說

目錄: 免費線上3d製圖工具-tinkercad-一-註冊及建立設計 免費線上3d製圖工具-tinkercad-二-基本操作解說 基礎操作 工作平面:在這邊完成設計,右鍵點住進行拖曳可以改視角,中鍵點住進行拖曳可以平移整個平面。 編輯網格:可以修改最小可編輯尺寸(及工作平面上的網格)。 基本造型:提供多種造型,可拖拉至工做平面上進行編輯。 拖拉至工作平面上的實體如下,可以修改相關基本參數來改變形狀,亦可直接拖拉平面上的白點修改形狀。 每一個物件都可以調整為實體或是孔兩種型態 點擊並拖曳黑色的箭頭可修改該形狀與工作平面之距離。 點擊並拖曳整個物件可改變該物件於工作平面上之位置。 於物件的XYZ三軸上接有一個旋轉符號,可點擊後輸入角度進行旋轉,或直接拖曳旋轉。 選擇孔的物件會切割實體的物件   框選多個物件並點選右上角的群組按鍵可將多個實體變為一個。   亦可將已群組之物件取消群組   完成之物件可在右上角將檔案匯出   TinkerCad支援之檔案格式包含obj、stl和svg   嘗試匯出stl檔案後下載檔案

2018免費取得比特幣水龍頭介紹 (一) Coinpot (已失效)

目錄: 2018免費取得比特幣水龍頭介紹-一-coinpot 2018免費取得比特幣水龍頭介紹-二-freebitcoin 2018免費取得比特幣水龍頭介紹 -三-Bitcoinker 部落格嵌入coinhive挖礦程序創造被動收入 Coinpot : https://coinpot.co/ 所有免費取得的虛擬貨幣將存放在這裡! Coinpot的介面大致上長這樣,可以支援比特幣、比特現金、狗狗幣、萊特幣及達特幣 5 種虛擬貨幣,也提供互相轉換的功能,匯率會隨市場波動但不收取手續費。 可以將這裡的比特幣轉入指定的錢包,這部分會需要手續費,Coinpot也提供部分合作的錢包是不需手續費的! 另外Coinpot有限制最低轉出金額,目前的最低轉出金額為25000聰。 須注意,接下來的水龍頭都必須使用與Coinpot同一個Mail作為帳號才能正確連接並取得比特幣! Bonus Bitcoin : http://bonusbitcoin.co/ 每15分鐘可點擊一次取得大約10聰的比特幣  完成機器人驗證並點擊畫面上的 Claim now! 就可以領到比特幣囉! 取得的比特幣會自動轉入Coinpot,可以在Coinpot介面的右下角看到從Bonus Bitcoin取得的比特幣! Bitfun : http://bitfun.co/ 會隨時間累積比特幣,累積的速度會越來越慢,最短每5分鐘可點擊一次!  點擊畫面上的 Claim now! 來取得比特幣 ,比特幣一樣會自動轉入Coinpot!同時她還提供了許多小遊戲讓你在等待的時候可以玩! Moon Bitcoin : http://moonbit.co.in/ 月亮系列的比特幣版本,規則大致與Bitfun相同。增加了每日點擊給予忠誠獎金的機制喔! Moon Doge : http://moondoge.co.in/ 月亮系列的狗狗幣版本,需要注意的是這裡點擊給予的是狗狗幣,不是比特幣,不過可以透過Coinpot轉換成比特幣! Moon Cash : http://moo...