• 技术文章 >常见问题 >Python常见问题

    python中xlwt是什么

    silencementsilencement2020-03-17 13:19:32原创5981

    python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

    python写excel——xlwt

    写excel的难点可能不在构造一个workbook的本身,而是填充的数据,不过这不在范围内。在写excel的操作中也有棘手的问题,比如写

    入合并的单元格就是比较麻烦的,另外写入还有不同的样式。这些要看源码才能研究的透。

    我"构思"了如下面的sheet1,即要用xlwt实现的东西:

    代码如下:

    '''
    设置单元格样式
    '''
    
    def set_style(name,height,bold=False):
      style = xlwt.XFStyle() # 初始化样式
    
      font = xlwt.Font() # 为样式创建字体
      font.name = name # 'Times New Roman'
      font.bold = bold
      font.color_index = 4
      font.height = height
    
      # borders= xlwt.Borders()
      # borders.left= 6
      # borders.right= 6
      # borders.top= 6
      # borders.bottom= 6
    
      style.font = font
      # style.borders = borders
    
      return style
    
    
    #写excel
    def write_excel():
      f = xlwt.Workbook() #创建工作簿
    
      '''
      创建第一个sheet:
        sheet1
      '''
      sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheet
      row0 = [u'业务',u'状态',u'北京',u'上海',u'广州',u'深圳',u'状态小计',u'合计']
      column0 = [u'机票',u'船票',u'火车票',u'汽车票',u'其它']
      status = [u'预订',u'出票',u'退票',u'业务小计']
    
      #生成第一行
      for i in range(0,len(row0)):
        sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))
    
      #生成第一列和最后一列(合并4行)
      i, j = 1, 0
      while i < 4*len(column0) and j < len(column0):
        sheet1.write_merge(i,i+3,0,0,column0[j],set_style('Arial',220,True)) #第一列
        sheet1.write_merge(i,i+3,7,7) #最后一列"合计"
        i += 4
        j += 1
    
      sheet1.write_merge(21,21,0,1,u'合计',set_style('Times New Roman',220,True))
    
      #生成第二列
      i = 0
      while i < 4*len(column0):
        for j in range(0,len(status)):
          sheet1.write(j+i+1,1,status[j])
        i += 4
    
      f.save('demo1.xlsx') #保存文件
    
    if __name__ == '__main__':
      #generate_workbook()
      #read_excel()
      write_excel()

    更多技术请关注Python视频教程

    专题推荐:python
    上一篇:python中的静态属性和方法是什么意思 下一篇:python中t是什么

    相关文章推荐

    • python3如何判断是否是数字• python中\t代表什么• python ide如何运行

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网