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))
Esempio n. 2
0
 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)