• python excel单元格及样式


    python excel单元格及样式:

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-”  #只对当前文件的中文编码有效     
     3 # Filename : Write_excel_Format.py
     4 import os
     5 import time        
     6 import xlwt
     7 
     8 #检测当前目录下是否有TestData2.xls文件,如果有则清除以前保存文件 
     9 filename = 'TestData2.xls'    
    10 if os.path.exists(filename):
    11  os.remove(filename)
    12 
    13 #打印读取到当前系统时间  
    14 print(time.strftime("%Y-%m-%d",time.localtime(time.time()))) 
    15  
    16 wbk =  xlwt.Workbook(encoding='utf-8') 
    17 sheet = wbk.add_sheet('new sheet 1', cell_overwrite_ok=True)   #第二参数用于确认同一个cell单元是否可以重设值。
    18 style =  xlwt.XFStyle()   #赋值style为XFStyle(),初始化样式     
    19 
    20 #设置居中
    21 al = xlwt.Alignment()
    22 al.horz = 0x02      # 设置水平居中
    23 al.vert = 0x01      # 设置垂直居中
    24 style.alignment = al
    25 
    26 
    27 # 设置单元格背景颜色 
    28 for i in range(0x00,0xff):  # 设置单元格背景颜色     
    29  pattern =xlwt.Pattern()   # 创建一个模式     
    30  pattern.pattern =  xlwt.Pattern.SOLID_PATTERN # 设置其模式为实型  
    31  pattern.pattern_fore_colour = i    
    32 
    33  # 设置单元格背景颜色 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, the list goes on...
    34  style.pattern = pattern  # 将赋值好的模式参数导入Style     
    35  Line_data = (u'测试表')  #创建一个Line_data列表,并将其值赋为测试表,以utf-8编码时中文前加u     
    36  sheet.write_merge(i, i, 0, 2, Line_data, style) #以合并单元格形式写入数据,即将数据写入以第1/2/3列合并德单元格内  
    37 
    38 
    39 # 设置单元格内字体样式  
    40 for i in range(0x00,0xff):     
    41  fnt =  xlwt.Font()   # 创建一个文本格式,包括字体、字号和颜色样式特性    
    42  fnt.name = u'微软雅黑'  # 设置其字体为微软雅黑     
    43  fnt.colour_index = i  # 设置其字体颜色     
    44  fnt.bold = True     
    45  style.font = fnt   #将赋值好的模式参数导入Style
    46 
    47 #行合并
    48 #以合并单元格形式写入数据,即将数据写入以第4/5/6列合并德单元格内   
    49  sheet.write_merge(i,i,3,5,Line_data,style) 
    50 
    51 
    52 # 设置单元格下框线样式 
    53 for i in range(0, 0x53):      
    54  borders =  xlwt.Borders()      
    55  borders.left = i      
    56  borders.right = i      
    57  borders.top = i      
    58  borders.bottom = i      
    59  style.borders = borders  #将赋值好的模式参数导入Style     
    60  sheet.write_merge(i,i,6,8,Line_data,style) #以合并单元格形式写入数据,即将数据写入以第4/5/6列合并德单元格内
    61 
    62 
    63 # 设置单元格下列宽样式     
    64 for i in range(6, 15):       
    65  sheet.write(0,i,Line_data,style)
    66  sheet.col(i).width = 0x0d00 + i*50
    67 
    68 #设置居中
    69 al = xlwt.Alignment()
    70 al.horz = 0x02      # 设置水平居中
    71 al.vert = 0x01      # 设置垂直居中
    72 style.alignment = al
    73 
    74 
    75 #行合并及列表合并
    76 sheet.write_merge(2,2,11,13,"行合并3列",style)
    77 sheet.write_merge(3,5,12,12,"列合并3列",style)
    78 
    79 #插入图片
    80 path_py = ".imagespython.bmp"  #读取插入图片以.py运行时路径,images和.py在同一目录下    
    81 path_exe = ".imagespython.bmp" #读取插入图片以.exe运行时路径,.exe可以移到其他任意目录下运行但images和.exe在同一目录下   
    82 #path = cur_file_dir(path_py,path_exe) #获取文件的相对路径
    83 path=os.path.abspath(path_py)
    84 filename = path    #检测当前目录下是否有python.bmp图片,
    85 if os.path.exists(filename):
    86  print(u'python.bmp图片存在')
    87 else:
    88  print(u'python.bmp图片不存在')  
    89 sheet.insert_bitmap(path, 2, 9)  #插入一个图片    
    90 
    91 wbk.save('TestData2.xls')  #保存TestData2.xls文件,保存到脚本或exe文件运行的目录下     
    92 input("Enter enter key to exit...") #插入一个输入命令,方便运行exe时一闪而过不到打印信息

    上代码:

    显示结果:

  • 相关阅读:
    H5,JS国际化网站中英文切换
    DIV右上角标签的CSS3实现技巧
    .NET Core也是国产化信息系统开发的重要选项
    微软自家的.Net下的JavaScript引擎--- ClearScript
    Java 生态碎片化 和 .NET生态的一致性
    使用 .NET 进行游戏开发
    .NET 是信息技术应用创新产业重要参与者
    Chrome 80+ 跨域Samesite 导致的cookie not found 解决方法
    在腾讯云云函数计算上部署.NET Core 3.1
    腾讯云 云开发 部署 Blazor网站
  • 原文地址:https://www.cnblogs.com/lisa2016/p/11158400.html
Copyright © 2020-2023  润新知