日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python生成excel模板_使用python创建excel表格 --- XlsxWriter模板详解

發布時間:2023/12/10 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python生成excel模板_使用python创建excel表格 --- XlsxWriter模板详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

最近在研究自動化巡檢發郵件。因為是需要展現給領導看的,逼格當然得高,所以在郵件展現的地方需要用到excel模板,在網上查了下XlsxWriter的模板,發現還是挺強大的一個東西,能實現我所需要的高逼格:

首先,XlsxWriter支持足夠多的樣式、圖表,另外還支持函數,等各種DIY姿勢。不足地方在于只能創建excel,無法去修改讀取,只能是創建!

一、創建一個表格

從輸出一個Hello world開始:

import?xlsxwriter????????????????????????????????????#導入模板

workbook?=?xlsxwriter.Workbook('hello.xlsx')?????????#創建一個名為?hello.xlsx?賦值給workbook

worksheet?=?workbook.add_worksheet()?????????????????#創建一個默認工作簿?賦值給worksheet

#工作簿也支持命名,

#如:workbook.add_worksheet('hello')

worksheet.write('A1',?'Hello?world')?????????????????#使用工作簿在?A1地方?寫入Hello?world

workbook.close()?????????????????????????????????????#關閉工作簿

以上代碼,最后一步關閉工作簿尤為重要,否則會出現報錯。

批量寫入表格

官網給出了一段批量寫入的代碼,思路是這樣:import?xlsxwriter

workbook?=?xlsxwriter.Workbook('Expenses01.xlsx')

worksheet?=?workbook.add_worksheet()

#需要寫入的數據

expenses?=?(?????['Rent',1000],

['Gas',??100],

['Food',?300],

['Gym',???50],

)

#行跟列的初始位置

row?=?0

col?=?0

#.write方法??write(行,列,寫入的內容,樣式)

for?item,cost?in?(expenses):

worksheet.write(row,col,item)????????#在第一列的地方寫入item

worksheet.write(row,col+1,cost)??????#在第二列的地方寫入cost

row?+?1??????????????????????????????#每次循環行數發生改變

worksheet.write(row,0,'Total')

worksheet.write(row,1,'=SUM(B1:B4)')?????#寫入公式

運行結果:

二、表格樣式

東西雖然寫出來了,但是光禿禿的,什么都沒有,負分,滾回馬桶!使用樣式裝飾一下吧!

表格樣式支持:字體、顏色、模式、邊框、數字格式等。

表格樣式需要用到.add_format方法

你可以直接將其封裝成一個類:ItemStyle?=?workbook.add_format({

'font_size':10,?????????????????#字體大小

'bold':True,???????????????????#是否粗體

'bg_color':'#101010',??????????????#表格背景顏色

'font_color':'#FEFEFE',?????????????#字體顏色

'align':'center',????????????????#居中對齊

'top':2,?????????????????????#上邊框

#后面參數是線條寬度

'left':2,????????????????????#左邊框

'right':2,????????????????????#右邊框

'bottom':2????????????????????#底邊框

})

你可以可以直接調用方法,像這樣:ItemStyle.set_font_size(10)

ItemStyle.set_bold()

ItemStyle.set_bg_color('#101010')

ItemStyle.set_font_color('#FEFEFE')

ItemStyle.set_align('center')

ItemStyle.set_align('vcenter')

ItemStyle.set_bottom(2)

ItemStyle.set_top(2)

ItemStyle.set_left(2)

ItemStyle.set_right(2)

兩個姿勢都是可以的,只要你喜歡。

大致翻譯一下:

類別描述屬性方法名

字體字體font_nameset_font_name()

字體大小font_sizeset_font_size()

字體顏色font_colorset_font_color()

加粗boldset_bold()

斜體italicset_italic()

下劃線underlineset_underline()

刪除線font_strikeoutset_font_strikeout()

上標/下標font_scriptset_font_script()

數字數字格式num_formatset_num_format()

保護表格鎖定lockedset_locked()

隱藏公式hiddenset_hidden()

對齊水平對齊alignset_align()

垂直對齊valignset_align()

旋轉rotationset_rotation()

文本包裝text_wrapset_text_warp()

底端對齊text_justlastset_text_justlast()

中心對齊center_acrossset_center_across

縮進indentset_indent()

縮小填充shrinkset_shrink()

模式表格模式patternset_pattern()

背景顏色bg_colorset_bg_color()

前景顏色fg_colorset_fg_color()

邊框表格邊框borderset_border()

底部邊框bottomset_bottom()

上邊框topset_top()

右邊框rightset_right()

邊框顏色border_colorset_border_color()

底部顏色bottom_colorset_bottom_color()

頂部顏色top_colorset_top_color()

左邊顏色left_colorset_left_color()

右邊顏色right_colorset_right_color()

三、插入圖表

圖表類型支持如下區塊:創建一個區塊(填充線)樣式表。

bar:創建一個bar風格(直方圖)圖。

柱型:創建一個列圖表(柱狀圖)。

行:創建一個橫行圖表。

圓:創建一個圓的圖表。

圈:創建一個圈一樣的圖表。

散射:創建一個散點圖風格。

股票:創建一個股票樣式表。

雷達:創建一個雷達樣式表

每個一個類型都能細分一個子類型:

area

stacked

percent_stacked

bar

stacked

percent_stacked

column

stacked

percent_stacked

scatter

straight_with_markers

straight

smooth_with_markers

smooth

radar

with_markers

filled

如:創建一個疊加的柱型圖:workbook.add_chart({'type':?'column',?'subtype':?'stacked'})

示例:插入一個柱型圖

插入圖表需要用到.add_chartsheet()方法,如下:ColumnChart?=?workbook.add_chart({'type':'column'})??#定義一個柱型圖表

ColumnChart.add_series({?????????????????????????????#定義樣式

'name':'Value',????????????????????????????????#目標值的名

'categories':'=Sheet1!$A$1:$D$1',??????????????#item的名

'values':????'=Sheet1!$A$2:$D$2',????????????#item的值

'fill':????{'color':'#FF9900'},??????????????#柱子的顏色

})

ColumnChart.set_x_axis({?????????????????????????????#定義x軸

'name':'The?Number?of?Column?Chart',???????????#標題

'name_font':{'size':10},???????????????????????#字體

})

ColumnChart.set_y_axis({?????????????????????????????#定義y軸

'name':'Server?indexes',???????????????????????#標題

'name_font':{'size':14,'bold':True},???????????#字體樣式

'num_font':{'italic':True},????????????????????#斜體

})

worksheet.insert_chart('A4',ColumnChart)?????????????#將這個表格插入A4的地方

示例:插入一個圓餅型圖MemChart?=?workbook.add_chart({'type':'pie'})????#定義一個圓餅型圖表

MemChart.add_series({

'categories':'=Sheet1!$A$20:$A$21',????????#項目名

'values':????'=Sheet1!$B$20:$B$21',??????#值名

'points':[

{'fill':{'color':'#5ABAFE'}},????????#第一個項目顏色

{'fill':{'color':'#FE110E'}},????????#第二個項目顏色

],

})

MemChart.set_title({'name':'Memory?Usage'})??????#設置標題

worksheet.insert_chart('A23',MemChart)???????????#插入圖表

運行結果:

當然樣式有相當多,上邊寫的只是一小部分,更多樣式參考

官網圖表樣式:http://xlsxwriter.readthedocs.io/chart.html

(未完待續)...

總結

以上是生活随笔為你收集整理的python生成excel模板_使用python创建excel表格 --- XlsxWriter模板详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。