def MergeColumnCells(work_book: Workbook, work_sheet: Worksheet, row: int, column_start: int, column_end: int, text: str) -> None: # Output :- A1, B2, etc column_row_lambda = lambda x: NumToExcelAlpha(x) + str(row + 1) # Sample : 'A1:D1' merge_range_string = ':'.join( map(column_row_lambda, [column_start, column_end])) work_sheet.merge_range(merge_range_string, text, GetDefaultCellFormat(work_book))
def write_data(self, sheet: Worksheet, merge_format): """ write the indicator data to the indicator sheet :param sheet: indicator sheet which is a xlsxwriter.Worksheet instance """ col = 1 for year in self.year_list: year_data = self.year2data[year] sheet.write_column(6, col, year_data.data_list) col += 1 avg_col = 1 + len(self.year_list) # “行业平均”数据所在列 ratio_col = 1 + avg_col # “比率”数据所在列 sub_score_col = 1 + ratio_col # “分项能力”得分所在列 sheet.write_column(6, avg_col, self.avg_data) sheet.write_column(6, ratio_col, self.ratio) sheet.merge_range("%s:%s" % (xl_rowcol_to_cell(6, sub_score_col), xl_rowcol_to_cell(11, sub_score_col)), self.score, merge_format)
def MergeRowCells(work_book: Workbook, work_sheet: Worksheet, column: int, row_start: int, row_end: int, text: str) -> None: if not text: return cell_format = GetDefaultCellFormat(work_book) # If the cell is in the last row of headers, no need for merging cells if row_start + 1 == row_end: work_sheet.write(row_start, column, text, cell_format) return # Sample : 'A1:D1' merge_range_string = NumToExcelAlpha(column) + str( row_start + 1) + ':' + NumToExcelAlpha(column) + str(row_end) work_sheet.merge_range(merge_range_string, text, cell_format)