def make_xls_validation(self, wb, ws_info, pg_info): from openpyxl.utils import quote_sheetname status_ws = wb.get_sheet_by_name('状态表'.decode('utf8')) for ii, _ik in enumerate(sorted(self.dev_status_dict.keys()), 1): status_ws['z%d' % ii] = self.dev_status_dict[_ik] dv_dev_status = DataValidation( type="list", formula1='{0}!$z$1:$z${last_row}'.format( quote_sheetname('状态表'.decode('utf8')), last_row=len(self.dev_status_dict.keys())), allow_blank=True) dv_dev_status.sqref = 'CL6:CL30000' ws_info.add_data_validation(dv_dev_status) dv_apl_process = DataValidation(type="decimal", operator="between", formula1=0, formula2=100) dv_apl_process.sqref = 'CC6:CC30000' ws_info.add_data_validation(dv_apl_process) dv_it_result = DataValidation(type="list", formula1='"完成, 未完成"', allow_blank=True) dv_it_result.sqref = 'CD6:CD30000' ws_info.add_data_validation(dv_it_result) dv_is_dalian = DataValidation(type="list", formula1='"是, 否"', allow_blank=True) dv_is_dalian.sqref = 'BX6:BX30000' ws_info.add_data_validation(dv_is_dalian)
def make_xls_validation(self, ws, row_count, pg): # 迁入开发分类 it_status_list = self.get_it_status_list(pg) status_str = '"%s"' % ', '.join(it_status_list) dv_it_result = DataValidation(type="list", formula1=status_str, allow_blank=True) dv_it_result.sqref = 'J%s:J%s' % (HMI_START_ROW_NUM, row_count + HMI_START_ROW_NUM) ws.add_data_validation(dv_it_result) # 后续画面开发分类 it_followup_status_list = self.get_it_followup_status_list(pg) followup_status_str = '"%s"' % ', '.join(it_followup_status_list) dv_is_dalian = DataValidation(type="list", formula1=followup_status_str, allow_blank=True) dv_is_dalian.sqref = 'L%s:L%s' % (HMI_START_ROW_NUM, row_count + HMI_START_ROW_NUM) ws.add_data_validation(dv_is_dalian)
def make_xls_validation(self, ws, row_count, pg): # 开发流程分类 for colm in ('AL%s:AL%s', 'AN%s:AN%s', 'AP%s:AP%s', 'AR%s:AR%s', 'AT%s:AT%s'): it_status_list = self.get_it_status_list(pg) status_str = '"%s"' % ', '.join(it_status_list) dv_it_result = DataValidation(type="list", formula1=status_str, allow_blank=True) dv_it_result.sqref = colm % (HMI_START_ROW_NUM, row_count + HMI_START_ROW_NUM) ws.add_data_validation(dv_it_result) # 开发状态分类 for colm2 in ('BB%s:BB%s', 'BK%s:BK%s', 'BP%s:BP%s', 'BU%s:BU%s', 'BZ%s:BZ%s', 'CE%s:CE%s', 'CJ%s:CJ%s', 'CO%s:CO%s', 'CT%s:CT%s', 'CY%s:CY%s', 'DD%s:DD%s'): it_followup_status_list = self.get_it_followup_status_list(pg) followup_status_str = '"%s"' % ', '.join(it_followup_status_list) dv_is_dalian = DataValidation(type="list", formula1=followup_status_str, allow_blank=True) dv_is_dalian.sqref = colm2 % (HMI_START_ROW_NUM, row_count + HMI_START_ROW_NUM) ws.add_data_validation(dv_is_dalian)