From 42f4e452050020d0846692173a6f00fda85eae68 Mon Sep 17 00:00:00 2001 From: qz_cx Date: Fri, 17 Oct 2025 11:00:01 +0800 Subject: [PATCH] Modify the table export function --- appStore/testMachine/views.py | 2 +- appStore/utils/export_excel.py | 69 +++++++++++++++++----------------- 2 files changed, 35 insertions(+), 36 deletions(-) diff --git a/appStore/testMachine/views.py b/appStore/testMachine/views.py index 5c12769..66dbb8a 100644 --- a/appStore/testMachine/views.py +++ b/appStore/testMachine/views.py @@ -48,7 +48,6 @@ class TestMachineViewSet(viewsets.ModelViewSet): machine_data = TestMachine.objects.get(id=machine_id) if not machine_id or not machine_data: return json_response({}, status.HTTP_205_RESET_CONTENT, '没有该数据') - machine_data.owner = request.user.chinese_name machine_data.machine_name = request.data.get('machine_name') machine_data.arch_name = request.data.get('arch_name') machine_data.cpu_module_name = request.data.get('cpu_module_name') @@ -72,6 +71,7 @@ class TestMachineViewSet(viewsets.ModelViewSet): machine_data = TestMachine.objects.get(id=machine_id) if not machine_id or not machine_data: return json_response({}, status.HTTP_205_RESET_CONTENT, '没有该数据') + machine_data.owner = request.user.chinese_name machine_data.server_IP = request.data.get('server_IP') machine_data.server_user_name = request.data.get('server_user_name') machine_data.server_password = request.data.get('server_password') diff --git a/appStore/utils/export_excel.py b/appStore/utils/export_excel.py index c3c6dfd..31fc939 100644 --- a/appStore/utils/export_excel.py +++ b/appStore/utils/export_excel.py @@ -119,15 +119,28 @@ def create_base_export(user_name,sheetname,data): worksheet.merge_cells('A3:B3') worksheet.merge_cells('A4:B4') elif sheetname in ["Speccpu2006(base)","Speccpu2006(peak)"]: + # 复制前四行的第一列数据到第二列 + for row_number in range(1, 5): + cell_value = worksheet.cell(row=row_number, column=1).value + worksheet.cell(row=row_number, column=2, value=cell_value) + # 删除第一列 + worksheet.delete_cols(1) + worksheet.merge_cells('A1:C1') + worksheet.merge_cells('A2:C2') + worksheet.merge_cells('A3:C3') + worksheet.merge_cells('A4:C4') + elif sheetname in ["Speccpu2017(base)","Speccpu2017(peak)"]: + # 复制前四行的第一列数据到第二列 + for row_number in range(1, 5): + cell_value = worksheet.cell(row=row_number, column=1).value + worksheet.cell(row=row_number, column=2, value=cell_value) + # 删除第一列 + worksheet.delete_cols(1) + # 合并前四行的单元格 worksheet.merge_cells('A1:D1') worksheet.merge_cells('A2:D2') worksheet.merge_cells('A3:D3') worksheet.merge_cells('A4:D4') - elif sheetname in ["Speccpu2017(base)","Speccpu2017(peak)"]: - worksheet.merge_cells('A1:E1') - worksheet.merge_cells('A2:E2') - worksheet.merge_cells('A3:E3') - worksheet.merge_cells('A4:E4') return worksheet,workbook def set_base_export_style(worksheet,config,sheetname): @@ -493,11 +506,6 @@ def cpu2006_excel(user_name,sheetname, data): cell.font = config.font_item_1 # 设置第三列的样式 column_letter = get_column_letter(3) - for cell in worksheet[column_letter]: - cell.fill = config.color_item_1 - cell.font = config.font_item_1 - # 设置第四列的样式 - column_letter = get_column_letter(4) for cell in worksheet[column_letter]: cell.fill = config.color_item_2 cell.font = config.font_item_2 @@ -507,15 +515,13 @@ def cpu2006_excel(user_name,sheetname, data): # 合并列 # 第一列 - worksheet.merge_cells(start_row=5, start_column=1, end_row=66, end_column=1) + worksheet.merge_cells(start_row=5, start_column=1, end_row=35, end_column=1) + worksheet.merge_cells(start_row=36, start_column=1, end_row=66, end_column=1) # 第二列 - worksheet.merge_cells(start_row=5, start_column=2, end_row=35, end_column=2) - worksheet.merge_cells(start_row=36, start_column=2, end_row=66, end_column=2) - # # 第三列 - worksheet.merge_cells(start_row=5, start_column=3, end_row=17, end_column=3) - worksheet.merge_cells(start_row=18, start_column=3, end_row=35, end_column=3) - worksheet.merge_cells(start_row=36, start_column=3, end_row=48, end_column=3) - worksheet.merge_cells(start_row=49, start_column=3, end_row=66, end_column=3) + worksheet.merge_cells(start_row=5, start_column=2, end_row=17, end_column=2) + worksheet.merge_cells(start_row=18, start_column=2, end_row=35, end_column=2) + worksheet.merge_cells(start_row=36, start_column=2, end_row=48, end_column=2) + worksheet.merge_cells(start_row=49, start_column=2, end_row=66, end_column=2) # 保存工作簿到文件 workbook.save(EXCEL_TEMP + '%s.xlsx'%(user_name)) @@ -540,30 +546,23 @@ def cpu2017_excel(user_name,sheetname, data): cell.font = config.font_item_1 # 设置第四列的样式 column_letter = get_column_letter(4) - for cell in worksheet[column_letter]: - cell.fill = config.color_item_1 - cell.font = config.font_item_1 - # 设置第五列的样式 - column_letter = get_column_letter(5) for cell in worksheet[column_letter]: cell.fill = config.color_item_2 cell.font = config.font_item_2 - # - # # 设置其它的表格样式 + + # 设置其它的表格样式 worksheet = set_base_export_style(worksheet,config,sheetname) # 合并列 # 第一列 - worksheet.merge_cells(start_row=5, start_column=1, end_row=54, end_column=1) + worksheet.merge_cells(start_row=5, start_column=1, end_row=29, end_column=1) + worksheet.merge_cells(start_row=30, start_column=1, end_row=54, end_column=1) # 第二列 - worksheet.merge_cells(start_row=5, start_column=2, end_row=29, end_column=2) - worksheet.merge_cells(start_row=30, start_column=2, end_row=54, end_column=2) + worksheet.merge_cells(start_row=5, start_column=2, end_row=15, end_column=2) + worksheet.merge_cells(start_row=16, start_column=2, end_row=29, end_column=2) + worksheet.merge_cells(start_row=30, start_column=2, end_row=40, end_column=2) + worksheet.merge_cells(start_row=41, start_column=2, end_row=54, end_column=2) # 第三列 - worksheet.merge_cells(start_row=5, start_column=3, end_row=15, end_column=3) - worksheet.merge_cells(start_row=16, start_column=3, end_row=29, end_column=3) - worksheet.merge_cells(start_row=30, start_column=3, end_row=40, end_column=3) - worksheet.merge_cells(start_row=41, start_column=3, end_row=54, end_column=3) - # 第四列 - worksheet.merge_cells(start_row=5, start_column=4, end_row=54, end_column=4) - # 保存工作簿到文件 + worksheet.merge_cells(start_row=5, start_column=3, end_row=54, end_column=3) + # # 保存工作簿到文件 workbook.save(EXCEL_TEMP + '%s.xlsx'%(user_name)) \ No newline at end of file -- Gitee