python创建excel_python自动生成excel(xlwt库)
# coding: utf-8import web
import json
import datetime
import xlwt
import StringIO
# 如果不在前端調用接口,如下web.py框架的urls和app、render可以省略
urls=( # web框架的路由'/index','Index','/home','Home',
)
app=web.aplication(urls, globals()) # 注冊應用
render= web.template.render('template') # 模板,注意路徑
#如果不在前端調用接口,如上web.py框架的urls和app、render可以省略
# 這個類,僅僅返回一個前端頁面,頁面里面的按鈕使用ajax來請求下面其他接口,這個html內容我就不寫了class Index(object):
def GET(self):returnrender.mubanmingzi({})
# 生成Excel文件class Excel(object):
def GET(self):
web.header('Content-type', 'applicationvnd.ms-excel') # 請求頭,返回指定內容
web.header('Transfer-Encoding', 'chunked')
namedate=str(datetime.date.today())
# 設定用戶瀏覽器生成excel文件的名字
web.header('Content-Disposition', 'attachment:filname={0}'.format('Excel表' + namedate + 'xls')
# 以上都不重要,僅供參考,如下是使用python的第三方庫xlwt來生成xecel文件
wb= xlwt.Workbook(encoding='utf-8') # 創建工作簿對象
ws= wb.add_sheet('sheet') # 要寫入的sheet的名字,就是excel的工作臺,不懂的可以去百度
bs=xlwt.Borders() # 創建邊框對象,用來指定表格邊框的樣式(粗細,虛線實現,顏色等)
bs.left=xlwt.Borders.THIN # 左側實線
bs.right=xlwt.Borders.THIN # 右側實線
bs.top=xlwt.Borders.THIN # 上邊實線
bs.bottom=xlwt.Boeders.THIN # 下邊實線
bs.left_colour=ox40 # 顏色
style=xlwt.XFStyle() # 創建樣式對象
style.borders=bs # 將設置好的bs樣式給style對象
# 下面開始往創建好的excel對象里面寫入數據
# 我們將地0行的前5個格合并居中,用來寫入注意事項
# 前兩個0表示從0行到0行這個范圍,第3個0表示從第0列,4表示到第5列(行列索引都從0開始),最后一個值就是要寫入的內容了)
ws.write_merge(0,0,0,4,'這是寫入的內容')
# 設置表頭for i in range(5):
ws.write(1, i, '標題{0}'.format(str(i))) # 5格,1表示第二行,i表示第二行的前5格,標題0-標題4沒別為每行內容
# 下面類似,寫入內容
row= 2# 第三行開始寫內容數據for i in range(10): # 寫入10行
ws.write(row,0, '內容1', style) # 內容寫入,邊框樣式生效
ws.write(row,1, '內容2', style)
ws.write(row,2, '內容3', style)
ws.write(row,3, '內容4', style)
ws.write(row,4, '內容5', style)
row+= 1# 指定每列的寬度
ws.col(0).width = 3999# 第0列
ws.col(1).width = 3999# 第1列
ws.col(4).width = 6999# 將數據流保存到本地磁盤
sio=StringIO.StringIO() # 創建數據流
web.save(sio) # 注意,這里保存的是數據流,不是文件名
sio.seek(0) # 光標,從0的位置開始寫入returnsio.getvalue() # 將生成文件特效返回到瀏覽器,其實文件已經保存到電腦的下載文件內了。
總結
以上是生活随笔為你收集整理的python创建excel_python自动生成excel(xlwt库)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios 贝塞尔曲线 颜色填充_iOS贝塞
- 下一篇: qlistview 自定义控件_是否可以