xlwt模塊用來設置xls。
一、安裝(此處用的是python3解析器)
pip3 install xlwt
二、設置字體
import xlwt
# 創建一個工作簿
xl = xlwt.Workbook(encoding='utf-8')
# 創建一個sheet對象,第二個參數是指單元格是否允許重設置,默認為False
sheet = xl.add_sheet('菜鳥的成長歷程', cell_overwrite_ok=False)
# 初始化樣式
style = xlwt.XFStyle()
# 為樣式創建字體
font = xlwt.Font()
font.name = 'Times New Roman'
# 黑體
font.bold = True
# 下划線
font.underline = False
# 斜體字
font.italic = True
# 設定樣式
style.font = font
# 第一個參數代表行,第二個參數是列,第三個參數是內容,第四個參數是格式
sheet.write(0, 0, '不帶樣式的攜入')
sheet.write(1, 0, '帶樣式的寫入', style)
# 保存文件
xl.save('C:\\Users\\15136\\Desktop\\字體.xls')
結果:
三、設置單元格寬度
import xlwt
xl = xlwt.Workbook(encoding='utf-8')
sheet = xl.add_sheet('單元格寬度', cell_overwrite_ok=True)
sheet.write(0, 0, '第一個行第一列內容')
sheet.col(0).width = 5000
xl.save('C:\\Users\\15136\\Desktop\\單元格寬度.xls')
結果:
四、將一個日期輸入一個單元格
import xlwt
import datetime
xl = xlwt.Workbook(encoding='utf-8')
sheet = xl.add_sheet('日期', cell_overwrite_ok=True)
# 初始化樣式
style = xlwt.XFStyle()
# Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0
style.num_format_str = 'M/D/YY'
sheet.write(0, 0, datetime.date.today(), style)
sheet.col(0).width = 5000
xl.save('C:\\Users\\15136\\Desktop\\菜鳥的成長歷程.xls')
結果:
五、添加一個公式
import xlwt
xl = xlwt.Workbook(encoding='UTF-8')
sheet = xl.add_sheet('公式', cell_overwrite_ok=True)
# 第一行第一列
sheet.write(0, 0, 5)
# 第一行第二列
sheet.write(0, 1, 3)
sheet.write(0,2,xlwt.Formula('A1 * B1'))
sheet.write(1,0,xlwt.Formula("A1 + B1"))
xl.save("C:\\Users\\15136\\Desktop\\菜鳥的成長歷程.xls")
結果:
六、在單元格中添加超鏈接
import xlwt
xl = xlwt.Workbook(encoding='utf-8')
sheet = xl.add_sheet('超鏈接')
sheet.write(0, 0, xlwt.Formula('HYPERLINK("https://www.baidu.com";"百度")'))
xl.save("C:\\Users\\15136\\Desktop\\菜鳥的成長歷程.xls")
結果:
七、合並列和行
import xlwt
xl = xlwt.Workbook(encoding='utf-8')
sheet = xl.add_sheet('合並列和行')
# (行,行,列,列,內容)
sheet.write_merge(0, 1, 0, 3, '合並從第一行到第二行,第一列到第四列')
font = xlwt.Font() # 創建字體示例
font.bold = True # bold設置為黑體字
style = xlwt.XFStyle() # 初始化樣式
style.font = font
sheet.write_merge(2, 3, 0, 3, '合並從第三行到第四行,第一列到第四列', style)
xl.save('C:\\Users\\15136\\Desktop\\菜鳥的成長歷程.xls')
結果:
八、單元格的對齊方式
import xlwt
xl = xlwt.Workbook(encoding='utf-8')
sheet = xl.add_sheet('單元格的對齊方式')
# 創建對齊格式對象
alignment = xlwt.Alignment()
# 左右的對其,水平居中 May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER,
# HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED,
# HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
alignment.horz = xlwt.Alignment.HORZ_CENTER
# 上下對齊 May be: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
alignment.vert = xlwt.Alignment.VERT_CENTER
style = xlwt.XFStyle() # 創建一個樣式對象
style.alignment = alignment # 將格式Alignment對象加入到樣式對象
sheet.write(0,0,'單元居中',style)
xl.save('C:\\Users\\15136\\Desktop\\菜鳥的成長歷程.xls')
Alignment n. 結盟; 隊列,排成直線; 校直,調整; [工] 准線;
HORZ 水平的;地平式;
GENERAL 普遍的; 大致的; 綜合的; 總的,全體的;
FILLED 滿的; 填滿的; 充氣的; 加載的;
JUSTIFIED adj. 有正當理由的,合理的; 事出有因的;
DISTRIBUTED 分布式的;
VERT n. 森林中的草木,綠色; 傾側; 傾轉;
九、為單元格加邊框
import xlwt
xl = xlwt.Workbook(encoding='utf-8')
sheet = xl.add_sheet('單元格添加邊框')
# 創建邊框對象
borders = xlwt.Borders()
borders.left = xlwt.Borders.DASHED # 對邊框對象進行操作,指定邊框上下左右的邊框類型為虛線
# DASHED虛線
# NO_LINE沒有
# THIN實線
# May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED,
# MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
borders.left_colour = 0x40 #指定上下左右的邊框顏色為0x40
borders.right_colour = 0x40
borders.top_colour = 0x40
borders.bottom_colour = 0x40
style = xlwt.XFStyle() # Create Style #創建樣式對象
style.borders = borders # 將設置好的邊框對象borders 加到樣式對象style中。
sheet.write(0, 0, '單元格內容', style)
sheet.write(1, 0, '單元格內容', style)
sheet.write(0, 1, '單元格內容', style)
sheet.write(1, 1, '單元格內容', style)
sheet.col(0).wigth = 4000
sheet.col(1).wigth = 4000
xl.save('C:\\Users\\15136\\Desktop\\菜鳥的成長歷程.xls')
結果:
十、設置背景色
import xlwt
xl = xlwt.Workbook(encoding='utf-8')
sheet = xl.add_sheet('單元格背景色')
# 創建背景模式對像
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN # May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12
pattern.pattern_fore_colour = 5 #設置模式顏色 May be: 8 through 63. 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 =
# Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on...
style = xlwt.XFStyle() # 創建樣式對象Create the Pattern
style.pattern = pattern # 將模式加入到樣式對象Add Pattern to Style
sheet.write(0, 0, '單元格內容', style)#向單元格寫入內容時使用樣式對象style
xl.save('C:\\Users\\15136\\Desktop\\菜鳥的成長歷程.xls')
結果: