python写excel标记文字颜色_python3使用xlwt时写入文档字体颜色和边框样式
轉(zhuǎn)自:https://www.cnblogs.com/xiaodingdong/p/8012282.html
可借鑒的網(wǎng)址:https://www.programcreek.com/python/example/39979/xlwt.Alignment
可以直接通過pip安裝xlwt
個人理解:
xlwt中對excel操作哦時主要用了font、alignment、pattern、protection這四個。
其中:
font:主要對字體進行操作,比如字體的顏色、大小
alignment:主要是對輸入內(nèi)容之后的對齊方式對齊
borders:每一個單元格的格式
pattern:設(shè)置單元格的背景顏色
protection:沒用過不太懂意思
一.font對字體寫入的顏色設(shè)置:
ef setStyle(name, height,color, bold=False):
style = xlwt.XFStyle() #初始化樣式
font = xlwt.Font() #為樣式創(chuàng)建字體
#字體類型:比如宋體、仿宋也可以是漢儀瘦金書繁
font.name =name
#設(shè)置字體顏色
font.colour_index =color
#字體大小
font.height =height
#定義格式
style.font =font
returnstyle
if __name__ == '__main__':
#創(chuàng)建工作簿,并指定寫入的格式
f = xlwt.Workbook(encoding='utf8') #創(chuàng)建工作簿
#創(chuàng)建sheet,并指定可以重復(fù)寫入數(shù)據(jù)的情況.設(shè)置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)
#控制行的位置
column =0;
row =0
#生成第一行
for i in range(0, 100):
#參數(shù)對應(yīng):行,列,值,字體樣式(可以沒有)
sheet1.write(column, row, i, setStyle('Times New Roman', 400, i, False))
#這里主要為了控制輸入每行十個內(nèi)容。為了查看
row = row + 1
if row % 10 ==0:
column = column + 1row =0
f.save(r'E:\xlwtExCEL.xls') #保存文檔
步驟:
1.創(chuàng)建工作薄對象。
2.設(shè)置excel里面工作表的名字
3.通過font定義字體的類型、大小和顏色
4.然后通過sheet1的write方法指定行列并寫入內(nèi)容
效果圖:
其中1和9看不清,可能寫入的顏色為白色,并不是沒有寫入。(把那兩個單元格的顏色改成黑色就能正常看見了);修改之后的樣子
font中其他一些元素的屬性:
font.bold = bold # 粗體
font.italic = True # 斜體
font.underline = 10 # 下劃線(其中當(dāng)值為9,整行的填充色為藍(lán)色)
font.struck_out =True # 橫線(比如:在一個字中 畫上一橫)
def set_style(name, height,color, bold=False):
style = xlwt.XFStyle() #初始化樣式
font = xlwt.Font() #為樣式創(chuàng)建字體
#字體類型:比如宋體、仿宋也可以是漢儀瘦金書繁
font.name =name
#是否為粗體
font.bold =bold
#設(shè)置字體顏色
font.colour_index =color
#字體大小
font.height =height
#字體是否斜體
font.italic =True
#字體下劃,當(dāng)值為11時。填充顏色就是藍(lán)色
font.underline =0
#字體中是否有橫線struck_out
font.struck_out =True
#定義格式
style.font =font
returnstyle
if __name__ == '__main__':
#創(chuàng)建工作簿,并指定寫入的格式
f = xlwt.Workbook(encoding='utf8') #創(chuàng)建工作簿
#創(chuàng)建sheet,并指定可以重復(fù)寫入數(shù)據(jù)的情況.設(shè)置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)
#控制行的位置
column =0;
row =0
#生成第一行
for i in range(0, 100):
#參數(shù)對應(yīng):行,列,值,字體樣式(可以沒有)
sheet1.write(column, row, i, set_style('漢儀瘦金書繁', 400, i, False))
#這里主要為了控制輸入每行十個內(nèi)容。為了查看
row = row + 1
if row % 10 ==0:
column = column + 1row =0
f.save(r'E:\xlwtExCEL.xls') #保存文檔
字體下劃underline屬性值不為9的效果圖:(并有加粗的效果)
字體下劃underline屬性值為9的效果圖:
注 : 看出underline等于某個值時是沒有下劃線,而等于98時出現(xiàn)雙下劃線的效果
二.borders中設(shè)置元素邊框的屬性:
def setStyle(name, height,color, bold=False):
style = xlwt.XFStyle() #初始化樣式
font = xlwt.Font() #為樣式創(chuàng)建字體
#字體類型:比如宋體、仿宋也可以是漢儀瘦金書繁
font.name =name
#設(shè)置字體顏色
font.colour_index =color
#字體大小
font.height =height
#定義格式
style.font =font
#borders.left = xlwt.Borders.THIN
#NO_LINE: 官方代碼中NO_LINE所表示的值為0,沒有邊框
#THIN: 官方代碼中THIN所表示的值為1,邊框為實線
borders =xlwt.Borders()
borders.left =color
borders.left =xlwt.Borders.THIN
borders.right =color
borders.top =color
borders.bottom =color
#定義格式
style.borders =borders
returnstyle
if __name__ == '__main__':
#創(chuàng)建工作簿,并指定寫入的格式
f = xlwt.Workbook(encoding='utf8') #創(chuàng)建工作簿
#創(chuàng)建sheet,并指定可以重復(fù)寫入數(shù)據(jù)的情況.設(shè)置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)
#控制行的位置
column =0
row =0
#生成第一行
for i in range(0, 100):
#參數(shù)對應(yīng):行,列,值,字體樣式(可以沒有)
sheet1.write(column, row, i, setStyle('漢儀瘦金書繁', 400, i, True))
#這里主要為了控制輸入每行十個內(nèi)容。為了查看
row = row + 1
if row % 10 ==0:
column = column + 1row =0
f.save(r'E:\xlwtExCEL.xls') #保存文檔
效果圖:
設(shè)置自己喜歡的格式,上面的圖應(yīng)該夠用了。
三、pattern設(shè)置單元格的顏色背景顏色:
def setStyle(name, height,color, bold=False):
style = xlwt.XFStyle() #初始化樣式
font = xlwt.Font() #為樣式創(chuàng)建字體
#字體類型:比如宋體、仿宋也可以是漢儀瘦金書繁
font.name =name
#設(shè)置字體顏色
font.colour_index =color
#字體大小
font.height =height
#定義格式
style.font =font
#borders.left = xlwt.Borders.THIN
#NO_LINE: 官方代碼中NO_LINE所表示的值為0,沒有邊框
#THIN: 官方代碼中THIN所表示的值為1,邊框為實線
borders =xlwt.Borders()
borders.left =color
borders.left =xlwt.Borders.THIN
borders.right =color
borders.top =color
borders.bottom =color
#定義格式
style.borders =borders
#設(shè)置背景顏色
pattern =xlwt.Pattern()
#設(shè)置背景顏色的模式
pattern.pattern =xlwt.Pattern.SOLID_PATTERN
#背景顏色
pattern.pattern_fore_colour =color
style.pattern =pattern
returnstyle
if __name__ == '__main__':
#創(chuàng)建工作簿,并指定寫入的格式
f = xlwt.Workbook(encoding='utf8') #創(chuàng)建工作簿
#創(chuàng)建sheet,并指定可以重復(fù)寫入數(shù)據(jù)的情況.設(shè)置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)
#控制行的位置
column =0
row =0
#生成第一行
for i in range(0, 100):
#參數(shù)對應(yīng):行,列,值,字體樣式(可以沒有)
sheet1.write(column, row, i, setStyle('漢儀瘦金書繁', 400, i, True))
#這里主要為了控制輸入每行十個內(nèi)容。為了查看
row = row + 1
if row % 10 ==0:
column = column + 1row =0
f.save(r'E:\xlwtExCEL.xls') #保存文檔
效果圖:
四、alignment對齊方式的設(shè)置:
def setStyle(name, height,color, bold=False):
style = xlwt.XFStyle() #初始化樣式
font = xlwt.Font() #為樣式創(chuàng)建字體
#字體類型:比如宋體、仿宋也可以是漢儀瘦金書繁
font.name =name
#設(shè)置字體顏色
font.colour_index =color
#字體大小
font.height =height
#定義格式
style.font =font
alignment =xlwt.Alignment()
alignment.horz =color
style.alignment =alignment
returnstyle
if __name__ == '__main__':
#創(chuàng)建工作簿,并指定寫入的格式
f = xlwt.Workbook(encoding='utf8') #創(chuàng)建工作簿
#創(chuàng)建sheet,并指定可以重復(fù)寫入數(shù)據(jù)的情況.設(shè)置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)
#控制行的位置
column =0
row =0
#生成第一行
for i in range(0, 100):
#參數(shù)對應(yīng):行,列,值,字體樣式(可以沒有)
sheet1.write(column, row, i, setStyle('漢儀瘦金書繁', 400, i, True))
#這里主要為了控制輸入每行十個內(nèi)容。為了查看
row = row + 1
if row % 10 ==0:
column = column + 1row =0
f.save(r'E:\xlwtExCEL.xls') #保存文檔
效果圖:
注意:有些等于某個值時會有不同的效果
alignment還有其他的屬性其他屬性:
五、protection的使用不是很明白,網(wǎng)上的解釋是:設(shè)置保護模式
總結(jié)
以上是生活随笔為你收集整理的python写excel标记文字颜色_python3使用xlwt时写入文档字体颜色和边框样式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬取豆瓣电影top250_P
- 下一篇: android开发入门与实践_Elect