详解xlwt的 Worksheet.add_data_validation 函数:添加数据验证规则

yizhihongxing

在使用xlwt进行Excel文件处理时,经常需要在Excel表格中添加数据验证。xlwt提供了Worksheet.add_data_validation函数来实现数据验证的功能。

作用

Worksheet.add_data_validation函数用于在Worksheet中创建一个数据验证(DV)对象,可以设置数据验证的类型和条件。

使用方法

使用Worksheet.add_data_validation函数,需要根据需要的数据验证类型设定数据验证对象。一个DV对象可以设置为指定范围的单元格,然后再设置数据验证类型、数据验证值等参数,并将其附加到 Worksheet 上实现数据验证的功能。

下面是该函数的语法:

add_data_validation(self, dv_type=None, criteria=None, minimum=None, maximum=None, value=None)

该函数支持的参数如下:

  1. dv_type: 验证类型。必选参数,有以下类型:

    • xlwt.DataValidation.TYPE_ANY: 任何值都可以
    • xlwt.DataValidation.TYPE_FLOAT: 浮点类型
    • xlwt.DataValidation.TYPE_INT: 整型
    • xlwt.DataValidation.TYPE_LIST: 取值列表
    • xlwt.DataValidation.TYPE_TEXT_LENGTH: 字符串长度限制
  2. criteria: 条件类型。可选参数,仅在 TYPE_FLOATTYPE_INT类型下可用。有以下条件:

    • xlwt.DataValidation.CRITERIA_BETWEEN
    • xlwt.DataValidation.CRITERIA_NOT_BETWEEN
    • xlwt.DataValidation.CRITERIA_EQUAL_TO
    • xlwt.DataValidation.CRITERIA_NOT_EQUAL_TO
    • xlwt.DataValidation.CRITERIA_GREATER_THAN
    • xlwt.DataValidation.CRITERIA_LESS_THAN
    • xlwt.DataValidation.CRITERIA_GREATER_OR_EQUAL_TO
    • xlwt.DataValidation.CRITERIA_LESS_OR_EQUAL_TO
  3. minimummaximum: 取值范围。可选参数,仅在 TYPE_FLOATTYPE_INT类型下可用。

  4. value: 允许的取值列表。可选参数,仅在 TYPE_LIST类型下可用。

示例

例一

该示例将设置一个范围,设为A20到A30之间。然后,对该数据范围实施数据验证,进行数字范围限制的控制,不允许超出限定范围之外的值。

import xlwt

work_book = xlwt.Workbook(encoding='utf-8')
sheet = work_book.add_sheet('sheet1')

# 设置范围
first_row, last_row = 19, 29
first_col, last_col = 0, 0

dv = xlwt.DataValidation()
dv.add_range(first_row, first_col, last_row, last_col)

# 设置条件
dv_type = xlwt.DataValidation.TYPE_INT
dv_criteria = xlwt.DataValidation.CRITERIA_BETWEEN
dv.minimum = 1
dv.maximum = 10

dv.set_error('只能输入数字范围(1-10)')
dv.set_input_title('输入数字范围:')
dv.set_error_style('alert alert-error')
dv.set_dropdown_true()

sheet.add_data_validation(dv)
work_book.save('ExcelValidation.xlsx')

上述代码中,首先生成一个空的Workbook对象,然后创建一个Sheet对象。然后根据需要设置数据范围和验证条件,设置展示的提示信息和错误提示信息以及失去焦点强制验证输入内容的类型等参数。最后将数据验证对象添加到Sheet中并保存。

例二

下面这个示例用于展示如何使用数据验证中的列表选项,用户必须从预设的可选项中进行选择。

work_book = xlwt.Workbook(encoding='utf-8')
sheet = work_book.add_sheet('sheet1')

# 设置范围
first_row, last_row = 0, 9
first_col, last_col = 0, 0

# 设置内容选项
data_list = ["总体评估", "需求分析", "系统设计", "编码测试", "应用部署"]

dv = xlwt.DataValidation()
dv.type = xlwt.DataValidation.TYPE_LIST
dv.add_range(first_row, first_col, last_row, last_col)
dv.value = data_list
sheet.add_data_validation(dv)

work_book.save('ExcelValidation2.xlsx')

上述代码中,同样首先生成一个新建的Workbook对象,然后创建一个Sheet对象。然后通过设置dv对象的value属性,将需要的列表选项传入到需要展示的Channel中。

注意

  • 添加数据验证后,excel文件要保存后才能生效。
  • 数据验证的生效需要打开Excel文件并激活所有工作表。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解xlwt的 Worksheet.add_data_validation 函数:添加数据验证规则 - Python技术站

(0)
上一篇 2023年3月23日
下一篇 2023年3月23日

相关文章

  • 详解xlwt的 Worksheet.print_area 函数:设置打印区域

    简介 Worksheet.print_area是xlwt库中的一个函数,用于定义Excel工作表的打印区域。它可以以文本或单元格的方式来指定一个“矩阵区域”(如“A1:C5”),从而打印该部分内容。 使用方法 使用Worksheet.print_area需要传入两个参数:起始单元格和终止单元格。它们可以是字符串形式的单元格坐标(如“A1”)或包含行和列索引的…

    xlwt 2023年3月23日
    00
  • 详解xlwt的 Worksheet.set_conditional_formatting 函数:设置条件格式

    xlwt Worksheet.set_conditional_formatting 函数 作用 xlwt 是 Python 中用于处理 Excel 文件的库。其中,Worksheet.set_conditional_formatting 函数可以用于向 Excel 的工作表中添加条件格式,使得满足一定条件的单元格可以自动进行格式化。 使用方法 Workshe…

    xlwt 2023年3月23日
    00
  • 详解xlwt的 Worksheet.page_preview_magnify 函数:设置页面预览放大比例

    xlwt的Worksheet.page_preview_magnify函数使用攻略 函数作用 Worksheet.page_preview_magnify函数是xlwt模块中的一个方法,用于设置excel表格页面预览时的缩放比例。 使用方法 该函数有一个必须参数magnification,表示缩放比例,该参数的取值有两种: 如果传入的是一个整数,则表示实际缩…

    xlwt 2023年3月23日
    00
  • 详解xlwt的 Worksheet.hide_comments 函数:隐藏所有注释

    xlwt 的 Worksheet.hide_comments 函数说明文档 简介 Worksheet.hide_comments() 函数用于隐藏工作表中所有的批注,该函数在 xlwt 版本 1.2.0 或更高版本可用。 语法 Worksheet.hide_comments() 函数不需要任何参数。 返回值 该函数没有任何返回值。 示例 示例1: impor…

    xlwt 2023年3月23日
    00
  • 详解xlwt的 Worksheet.hide_column 函数:隐藏列

    xlwt.Worksheet.hide_column函数 作用 hide_column函数用于隐藏Excel工作表中指定索引的列。 参数说明 col_index: 需要隐藏的列的索引,从0开始。 使用方法 导入xlwt模块: import xlwt 创建一个工作簿: workbook = xlwt.Workbook() 创建一个工作表: worksheet …

    xlwt 2023年3月23日
    00
  • 详解xlwt的 Worksheet.set_previous_sheet 函数:将当前工作表设置为前一个工作表

    xlwt 的 Worksheet.set_previous_sheet 函数使用攻略 函数作用 Worksheet.set_previous_sheet 函数用于将当前 Sheet 对象指定为前一个sheet对象,被指定的sheet对象将出现在当前sheet的前一个位置。 使用方法 Worksheet.set_previous_sheet 的语法如下: de…

    xlwt 2023年3月23日
    00
  • 详解xlwt的 Worksheet.set_landscape 函数:设置工作表为横向

    xlwt.Worksheet.set_landscape 函数作用及使用攻略 函数作用 set_landscape 函数是 xlwt 库中 Worksheet 类的一个方法,用于设置当前 sheet 的页面方向为横向(横向打印)。 使用攻略 set_landscape 函数的语法如下: set_landscape() 该函数没有参数,调用后将当前 sheet…

    xlwt 2023年3月23日
    00
  • 详解xlwt的 Worksheet.set_column 函数:设置列的宽度

    Worksheet.set_column函数是一个用于设置Excel工作表中列宽的函数,它是xlwt库中的一部分。 语法 set_column(first_col, last_col, width[, cell_format[, options]]) 其中参数含义如下: first_col:第一列索引,必须是一个非负整数。 last_col:最后一列索引(包…

    xlwt 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部