|
发表于 2024-1-30 22:18:42
|
显示全部楼层
问题1可以通过将排除规则储存在字典中,字典的键是sheet名,值是排除规则的函数。然后在遍历每个sheet时,根据sheet名从字典中获取对应的排除规则,并调用该规则函数。下面是实现的代码:
- def exclude_rows_and_cols():
- exclude_rules = {
- "Sheet1": exclude_rule_for_sheet1,
- "Sheet2": exclude_rule_for_sheet2,
- "Sheet3": exclude_rule_for_sheet3
- }
-
- # 遍历每个sheet
- for sheet in workbook.sheets:
- sheet_name = sheet.name
-
- # 检查是否有对应的排除规则
- if sheet_name in exclude_rules:
- exclude_rule = exclude_rules[sheet_name]
-
- # 调用对应的排除规则函数
- exclude_rule(sheet)
-
- return exclude_rules
复制代码
问题2同理,可以使用字典来存储验证规则函数,根据sheet名调用对应的验证规则函数。下面是实现的代码:
- def record_validation_rules(filename):
- sheet_validations = {
- "Sheet1": validation_rule_for_sheet1,
- "Sheet2": validation_rule_for_sheet2,
- "Sheet3": validation_rule_for_sheet3
- }
-
- # 打开Excel文件
- workbook = openpyxl.load_workbook(filename)
-
- # 遍历每个sheet
- for sheet in workbook.sheets:
- sheet_name = sheet.name
-
- # 检查是否有对应的验证规则
- if sheet_name in sheet_validations:
- validation_rule = sheet_validations[sheet_name]
-
- # 调用对应的验证规则函数
- validation_rule(sheet)
-
- return sheet_validations
复制代码
在上面的代码中,`exclude_rule_for_sheet1`、`exclude_rule_for_sheet2`、`exclude_rule_for_sheet3`等表示排除规则的函数,`validation_rule_for_sheet1`、`validation_rule_for_sheet2`、`validation_rule_for_sheet3`等表示验证规则的函数。您需要根据实际情况定义这些函数。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|