美文网首页
六、Openpyxl工作表对象的属性和方法-4(数据验证)

六、Openpyxl工作表对象的属性和方法-4(数据验证)

作者: JunChen | 来源:发表于2022-08-04 09:44 被阅读0次

    设置数据验证用到DataValidation类,以下是该类可以设置的参数

                     type=None,
                     formula1=None,
                     formula2=None,
                     allow_blank=False,
                     showErrorMessage=True,
                     showInputMessage=True,
                     showDropDown=None,
                     allowBlank=None,
                     sqref=(),
                     promptTitle=None,
                     errorStyle=None,
                     error=None,
                     prompt=None,
                     errorTitle=None,
                     imeMode=None,
                     operator=None,
    

    下面参数有需要打勾的,就是要填入bool值。(True or False)

    参数详解

    根据Excel软件的排版,分成四个部分来讲。


    1. 设置


    • type
    "whole", # 代表整数
    "decimal", 
    "list", 
    "date", 
    "time",
     "textLength", 
    "custom"
    

    对应的内容为


    type
    • operator
    "between", "notBetween", 
    "equal", "notEqual",
     "lessThan", "lessThanOrEqual", 
    "greaterThan", "greaterThanOrEqual"
    

    对应的内容为


    operator

    2. 输入信息

    输入信息的参数

    3. 出错警告

    出错警告的参数
    • errorStyle
    "stop", "warning", "information"
    

    对应的内容为


    errorStyle

    4. 输入法模式

    设置的参数只有一个imeMode,有下面这些选项可填,但是实际Excel中,只有三个选项,不知道什么原因,不过也没什么影响,基本用不到这个。

    "noControl", "off", "on", "disabled",
     "hiragana", "fullKatakana", "halfKatakana", "fullAlpha","halfAlpha",
     "fullHangul", "halfHangul"
    
    imeMode

    5. 最后一个参数sqref,是填写要设置数据验证的区域


    实例

    
    import openpyxl
    from openpyxl.worksheet.datavalidation import DataValidation
    
    wb = openpyxl.Workbook()
    
    ws = wb.active
    
    # 选择列表
    dv = DataValidation(type="list",
                                    formula1='"a,b,c"',
                                    sqref=('A1:A10'),
                                    promptTitle='提醒',
                                    prompt='请输入a,b,c中的一个')
    
    # 只能填入1-10之间的整数
    dv2 = DataValidation(type="whole",
                                      formula1=1,
                                      formula2=10,
                                      sqref=('B1:B10'),
                                      errorTitle='错误',
                                      error='输入的必须在1-10之间的整数')
    
    ws.data_validations.append(dv)
    
    ws.data_validations.append(dv2)
    
    
    wb.save(r'/Users/junliangchen/Desktop/test.xlsx')
    

    清除数据验证

    from openpyxl.worksheet.datavalidation import DataValidationList
    
    wb = openpyxl.Workbook()
    ws = wb.active
    
    ws.data_validations = DataValidationList() # 清除工作表中的所有数据验证
    
    

    相关文章

      网友评论

          本文标题:六、Openpyxl工作表对象的属性和方法-4(数据验证)

          本文链接:https://www.haomeiwen.com/subject/mnqdwrtx.html