python 对 excel 的处理

#!/usr/bin/python3

# -*- coding: UTF-8 -*-

 

from xlutils.copy import copy

import xlrd

import xlwt

from datetime import date,datetime

 

#############将标题加粗##############################

def Excel_Thickening():

    book1 = xlrd.open_workbook('20190711.xls')

    book2 = copy(book1)#拷贝一份原来的excel

    sheet = book2.get_sheet(0)#获取第几个sheet页   

    style = xlwt.easyxf('font: bold 1') 

    sheet.write(0,0, '类型', style)  #加粗 0,0

    sheet.write(0,1, '个数', style)

    sheet.write(0,2, '文件名举例', style)

    sheet.write(0,3, '日期', style)

    book2.save('20190711.xls') #保存

 

 

############################

excel = xlrd.open_workbook('20190711.xls')      

 

#print (excel.sheet_names())  #查看文件中包含sheet的名称

#table = excel.sheets()[0]  #通过索引顺序得到第一个工作表

#print (table.col_values(1))  #打印 B 列

#print (table.row_values(i))   #实际是表格的第 i + 1 行

 

table = excel.sheet_by_index(0)  #通过索引顺序得到第一个工作表

nrows = table.nrows  #获取行数

ncols = table.ncols  #获取列数

 

styleBlueBkg = xlwt.easyxf('pattern: pattern solid, fore_colour red;')  # 红色

wb = copy(excel)                           #利用xlutils.copy下的copy函数复制

ws = wb.get_sheet(0)                    #获取表单0

col = 1                                 #指定修改的列

for i in range(1,int(nrows)-1):               #循环所有的行

    result = int(table.cell(i, col).value)

    if result == 0:                     #判断是否等于0

        for Row in range(0,int(ncols)):

            ws.write(i,Row,table.cell(i, Row).value,styleBlueBkg) #设置背景色

ws.col(0).width = 7777   #设置宽度

ws.col(2).width = 9333   #设置宽度

ws.col(3).width = 5333   #设置宽度

 

#################################################################################

# 为样式创建字体

font = xlwt.Font()

# 字体类型

font.name = '黑体'

# 字体颜色

font.colour_index = i

# 字体大小,15为字号,20为衡量单位

font.height = 20*15

# 字体加粗

font.bold = True

# 下划线

font.underline = False

# 斜体字

font.italic = False

 

 # 初始化样式

style0 = xlwt.XFStyle()

style0.font = font

      

for Row1 in range(0,int(ncols)):

    ws.write(0,Row1,table.cell(0, Row1).value,style0)  #将style0 用于第一行

 

# 合并单元格,合并第2 + 1行到第4 +1 行的第4 + 1列到第5 + 1列(合并成一个表格)

#ws.write_merge(2, 4, 4, 5, u'test')  #test为这个表格的内容

 

# 合并单元格,合并第2 + 1行的第4 + 1列到第5 + 1列(合并成一个表格)

#ws.write_merge(2, 2, 1, 2, u'test') #test为这个表格的内容

 

wb.save('20190711.xls')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值