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

    python中xlwt是什么

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

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

    python写excel——xlwt

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

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

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

    代码如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    '''

    设置单元格样式

    '''

     

    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学习网