跳到主要內容

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

Windows系統下實作 Mosquitto MQTT broker SSL/TLS 加密

一、使用openssl生成憑證  1.在開始之前我們需要安裝openssl來生成憑證,直接到openssl的網站就能下載到了,或是大部分的情況下在安裝mosquitto的時候就已經安裝了。  2.以系統管理員身分打開cmd並使用cd指令移動到openssl目錄下的bin資料夾,通常是C:\OpenSSL-Win32\bin。  3.直接在cmd輸入openssl來執行opnssl。   4.接下來的指令是用來生成一些憑證相關的文件,期間會要求輸入許多資料,需特別注意的是common name需填入伺服器的ip或是hostname。  5.使用genrsa -des3 -out ca.key 2048指令生成ca.key。  6.使用req -new -x509 -days 1826 -key ca.key -out ca.crt指令生成ca.crt。  7.使用genrsa -out server.key 2048生成server.key  8.使用req -new -out server.csr -key server.key生成server.csr  9.使用x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 360生成servr.rt。 10.完成後可以在bin資料夾中找到剛剛生成的文件,我們要把其中的ca.ctr、server.ctr及server.ky複製到mosquitto的cert資料夾中,憑證生成的部分也就完成了。 二、Mosquitto認證設置  1.在這邊主要完成的是修改mosquitto資料夾中的mosquitto.conf配置檔。首先找到 Port to use for the default listener. 並在下面加入port 8883。  2. 來是找到#capath並在下面加入 cafile C:\Program Files (x86)\mosquitto\certs\ca.crt keyfile C:\Program Fi...

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

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