可借鑑的網址:https://www.programcreek.com/python/example/39979/xlwt.Alignmentpython
能夠直接經過pip安裝xlwt字體
我的理解:spa
xlwt中對excel操做哦時主要用了font、alignment、pattern、protection這四個。3d
其中:excel
font:主要對字體進行操做,好比字體的顏色、大小
alignment:主要是對輸入內容以後的對齊方式對齊
borders:每個單元格的格式
pattern:設置單元格的背景顏色
protection:沒用過不太懂意思
一.font對字體寫入的顏色設置:code
ef setStyle(name, height,color, bold=False): style = xlwt.XFStyle() # 初始化樣式 font = xlwt.Font() # 爲樣式建立字體 # 字體類型:好比宋體、仿宋也能夠是漢儀瘦金書繁 font.name = name # 設置字體顏色 font.colour_index = color # 字體大小 font.height = height # 定義格式 style.font = font return style if __name__ == '__main__': # 建立工做簿,並指定寫入的格式 f = xlwt.Workbook(encoding='utf8') # 建立工做簿 # 建立sheet,並指定能夠重複寫入數據的狀況.設置行高度 sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False) # 控制行的位置 column = 0; row = 0 # 生成第一行 for i in range(0, 100): # 參數對應:行,列,值,字體樣式(能夠沒有) sheet1.write(column, row, i, setStyle('Times New Roman', 400, i, False)) # 這裏主要爲了控制輸入每行十個內容。爲了查看 row = row + 1 if row % 10 ==0: column = column + 1 row = 0 f.save(r'E:\xlwtExCEL.xls') # 保存文檔
步驟:對象
1.建立工做薄對象。blog
2.設置excel裏面工做表的名字ip
3.經過font定義字體的類型、大小和顏色文檔
4.而後經過sheet1的write方法指定行列並寫入內容
效果圖:
其中1和9看不清,可能寫入的顏色爲白色,並非沒有寫入。(把那兩個單元格的顏色改爲黑色就能正常看見了);修改以後的樣子
font中其餘一些元素的屬性:
font.bold = bold # 粗體
font.italic = True # 斜體
font.underline = 10 # 下劃線(其中當值爲9,整行的填充色爲藍色)
font.struck_out =True # 橫線(好比:在一個字中 畫上一橫)
def set_style(name, height,color, bold=False): style = xlwt.XFStyle() # 初始化樣式 font = xlwt.Font() # 爲樣式建立字體 # 字體類型:好比宋體、仿宋也能夠是漢儀瘦金書繁 font.name = name # 是否爲粗體 font.bold = bold # 設置字體顏色 font.colour_index = color # 字體大小 font.height = height # 字體是否斜體 font.italic = True # 字體下劃,當值爲11時。填充顏色就是藍色 font.underline = 0 # 字體中是否有橫線struck_out font.struck_out =True # 定義格式 style.font = font return style if __name__ == '__main__': # 建立工做簿,並指定寫入的格式 f = xlwt.Workbook(encoding='utf8') # 建立工做簿 # 建立sheet,並指定能夠重複寫入數據的狀況.設置行高度 sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False) # 控制行的位置 column = 0; row = 0 # 生成第一行 for i in range(0, 100): # 參數對應:行,列,值,字體樣式(能夠沒有) sheet1.write(column, row, i, set_style('漢儀瘦金書繁', 400, i, False)) # 這裏主要爲了控制輸入每行十個內容。爲了查看 row = row + 1 if row % 10 ==0: column = column + 1 row = 0 f.save(r'E:\xlwtExCEL.xls') # 保存文檔
字體下劃underline屬性值不爲9的效果圖:(並有加粗的效果)
字體下劃underline屬性值爲9的效果圖:
注 : 看出underline等於某個值時是沒有下劃線,而等於98時出現雙下劃線的效果
二.borders中設置元素邊框的屬性:
def setStyle(name, height,color, bold=False): style = xlwt.XFStyle() # 初始化樣式 font = xlwt.Font() # 爲樣式建立字體 # 字體類型:好比宋體、仿宋也能夠是漢儀瘦金書繁 font.name = name # 設置字體顏色 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 return style if __name__ == '__main__': # 建立工做簿,並指定寫入的格式 f = xlwt.Workbook(encoding='utf8') # 建立工做簿 # 建立sheet,並指定能夠重複寫入數據的狀況.設置行高度 sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False) # 控制行的位置 column = 0 row = 0 # 生成第一行 for i in range(0, 100): # 參數對應:行,列,值,字體樣式(能夠沒有) sheet1.write(column, row, i, setStyle('漢儀瘦金書繁', 400, i, True)) # 這裏主要爲了控制輸入每行十個內容。爲了查看 row = row + 1 if row % 10 == 0: column = column + 1 row = 0 f.save(r'E:\xlwtExCEL.xls') # 保存文檔
效果圖:
設置本身喜歡的格式,上面的圖應該夠用了。
3、pattern設置單元格的顏色背景顏色:
def setStyle(name, height,color, bold=False): style = xlwt.XFStyle() # 初始化樣式 font = xlwt.Font() # 爲樣式建立字體 # 字體類型:好比宋體、仿宋也能夠是漢儀瘦金書繁 font.name = name # 設置字體顏色 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 # 設置背景顏色 pattern = xlwt.Pattern() # 設置背景顏色的模式 pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 背景顏色 pattern.pattern_fore_colour = color style.pattern = pattern return style if __name__ == '__main__': # 建立工做簿,並指定寫入的格式 f = xlwt.Workbook(encoding='utf8') # 建立工做簿 # 建立sheet,並指定能夠重複寫入數據的狀況.設置行高度 sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False) # 控制行的位置 column = 0 row = 0 # 生成第一行 for i in range(0, 100): # 參數對應:行,列,值,字體樣式(能夠沒有) sheet1.write(column, row, i, setStyle('漢儀瘦金書繁', 400, i, True)) # 這裏主要爲了控制輸入每行十個內容。爲了查看 row = row + 1 if row % 10 == 0: column = column + 1 row = 0 f.save(r'E:\xlwtExCEL.xls') # 保存文檔
效果圖:
4、alignment對齊方式的設置:
def setStyle(name, height,color, bold=False): style = xlwt.XFStyle() # 初始化樣式 font = xlwt.Font() # 爲樣式建立字體 # 字體類型:好比宋體、仿宋也能夠是漢儀瘦金書繁 font.name = name # 設置字體顏色 font.colour_index = color # 字體大小 font.height = height # 定義格式 style.font = font alignment = xlwt.Alignment() alignment.horz = color style.alignment = alignment return style if __name__ == '__main__': # 建立工做簿,並指定寫入的格式 f = xlwt.Workbook(encoding='utf8') # 建立工做簿 # 建立sheet,並指定能夠重複寫入數據的狀況.設置行高度 sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False) # 控制行的位置 column = 0 row = 0 # 生成第一行 for i in range(0, 100): # 參數對應:行,列,值,字體樣式(能夠沒有) sheet1.write(column, row, i, setStyle('漢儀瘦金書繁', 400, i, True)) # 這裏主要爲了控制輸入每行十個內容。爲了查看 row = row + 1 if row % 10 == 0: column = column + 1 row = 0 f.save(r'E:\xlwtExCEL.xls') # 保存文檔
效果圖:
注意:有些等於某個值時會有不一樣的效果
alignment還有其餘的屬性其餘屬性:
5、protection的使用不是很明白,網上的解釋是:設置保護模式
下面上傳了alignment對齊方式生成的excel表格。
連接: https://pan.baidu.com/s/1o8kPJ2y
密碼: dwun