zoukankan      html  css  js  c++  java
  • openxlsx模块

    import openpyxl

    #创建工作簿
    wb = openpyxl.Workbook()
    #获取当前活跃的工作表
    ws = wb.active
    #删除工作表
    remove_sheet(wb.get_sheet_by_name('工作表名字'))
    #保存工作簿
    wb.save(r'保存目录位置')


    #自动判断传入excel的是文本还是数字
    wb.guess_types = True

    #打开现有的工作簿
    wb = openpyxl.load_workbook(r'工作簿位置')

    #以函数方式获取当前所有工作表名字 #返回所有名字
    wb.get_sheet_name()

    #以属性方式获取当前所有工作表名字 #返回所有名字
    wb.sheetname

    #定位到工作表
    ws = wb.get_sheet_by_name('工作表名称')


    #在已有工作簿情况下,创建工作表,可选参数更改名字
    creat_sheet(title = '字符串')

    #单元格行 #返回 2
    c = ws['A2']
    c.row

    #单元格列 #返回 A
    c.column

    #单元格位置 #返回 A2
    c.coordinate

    #通过属性获取单元格值 #返回 单元格值
    c.value

    #通过其中一个单元格定位其他单元格位置 #此时赋予d 的位置为A4, f 的位置为C2
    d = c.offset(2, 0)
    f = c.offset(0, 2)


    #计算此时496列为表格中什么字母表示 #返回为 ‘SB’
    openpyxl.cell.cell.get_column_letter(496)

    #计算此时表格中'JB等于多少列' #返回为 262
    openpyxl.cell.cell.column_index_from_string('JB')

    #包含A列所有的数据的列表 #返回 包含A列所有的数据的列表
    ws.rows

    #可选定列的数据,选定出A1:B4的内容
    ws.iter_rows(min_row = 2 , min_col =1, max_row = 4, max_col =2)

    #复制工作表
    new = wb.copy_worksheet(ws)
    wb.save(r'工作簿位置')

    #更改工作表颜色
    ws1.sheet_properties.tabColor = '颜色编号'

    #调整单个高度
    wb.row_dimensions[行].height = 需要更改的数值大小

    #调整单个宽度
    wb.column_dimensions['列'].width = 需要更改的数值大小

    #合并单元格
    wb.merge_cells('XX:XX')

    #拆分单元格
    wb.unmerge_cells('XX:XX')

    #已获取当前工作表下,指定位置冻结窗口
    ws.freeze_panes = 'XX'

    #解除已冻结的窗口
    ws.freeze_panes = 'A1'或者 None


    #设置单元格字体及颜色、大小、下横线、删除线
    bold_red_font = Font(bold = True, color = 'FF0000')
    e = ws['B2']
    e.font = bold_red_font

    #设置单元格背景颜色.
    (solid纯色,FFFF00黄色)
    1、from openpyxl.styles import PatternFill
    yellow_fill = PatternFill(fill_type='solid', fgColor = 'FFFF00')
    e.fill = yellow_fill

    (linear线性填充,FF0000红,00FF00绿\\stop需要参数是元组)
    2、from openpyxl.styles import GradientFill
    red2green = GradientFill(fill_type='linear', stop=('FF0000','00FF00'))
    e.fill = red2green

    #设置边框
    (thin细线,000000黑色, diagonal绘制对角线[需要将 diagonalUp 为 True 或者 diagonalDown 为 True])
    1、from openpyxl.styles import Border, Side
    thin_side = Side(border_style ='thin', color = '000000')
    e.border = Border(diagonal = thin_side, diagonalUp = True, diagonalDown = True)

    (double双横线,FF0000红色, left、top、right、dottom为左上右下边框设置)
    2、from openpyxl.styles import Border, Side
    double_side = Side(boeder_style = 'double',coloe = 'FF0000')
    e.border = Border(left = double_side, top = double_side, right = double_side, bottom = double_side)

    #文本水平位置(horizontal居中及vertical垂直居中)
    from opnepyxl.styles import Alignment
    e.alignment = Alignment(horizontal = 'center', vertical = 'center')

    #设计模板
    from openpyxl.styles import NameStyle
    对象名 = NameStyle(name = '对象名')

    #设置字体
    对象名.font = Font(bold = True, size = 大小数值)

    #设置文本位置
    对象名.alignment = Alignment(horizontal = 'center', vertical = 'center')

    #修改边框

    #设置背景

    #单元格大小

    ''''''

    #将设置好的模板注册到工作簿中
    wb.add_named_style(对象名)

    #添加使用模板
    ws['XX'].style = 对象名

  • 相关阅读:
    常用的 写代码 的 指令
    boos
    超级搬运工
    那些年,我读过的书籍(读完一本就在此处更新),立贴。
    ExtJs combobox模糊匹配
    整理了一下eclipse 快捷键注释的一份文档
    中国省份按照拼音排序出现的问题以及临时解决方案
    JetBrains WebStorm 安装破解问题
    ExtJs Grid 删除,编辑,查看详细等超链接处理
    ExtJs Panel 滚动条设置
  • 原文地址:https://www.cnblogs.com/7134g/p/11516896.html
Copyright © 2011-2022 走看看