Quellcode durchsuchen

完善GC的导出,屏蔽查询功能

wzp vor 5 Monaten
Ursprung
Commit
1fe995291c
2 geänderte Dateien mit 37 neuen und 8 gelöschten Zeilen
  1. 32
    3
      Back/GC/GCExport.py
  2. 5
    5
      Front/modules/ui_main.py

+ 32
- 3
Back/GC/GCExport.py Datei anzeigen

@@ -1,9 +1,11 @@
1 1
 import time
2
+
3
+import openpyxl
2 4
 import pandas as pd
3 5
 import sqlite3
4 6
 import os
5 7
 from PySide6.QtWidgets import QMessageBox
6
-from openpyxl.styles import Font, NamedStyle
8
+from openpyxl.styles import Font, NamedStyle, Alignment
7 9
 from openpyxl.utils.dataframe import dataframe_to_rows
8 10
 
9 11
 
@@ -64,13 +66,30 @@ def main_function(ui, file_path, utf_en, db_path):
64 66
             'Dis_Ass': '变形判定'
65 67
         }
66 68
         df.rename(columns=column_mapping, inplace=True)
69
+        # 查询 GC_Input_Param 表获取 Correct_Factor 字段
70
+        query_param = "SELECT Correct_Factor FROM GC_Input_Param WHERE TableName=?"
71
+        correct_factor_df = pd.read_sql_query(query_param, conn, params=(utf_en,))
67 72
 
73
+        correct_factor = correct_factor_df.iloc[0]['Correct_Factor']
68 74
         # 创建一个新的 Excel 工作簿
69 75
         from openpyxl import Workbook
70 76
         wb = Workbook()
71 77
         ws = wb.active
72
-
73
-        # 将 DataFrame 写入工作表
78
+        # # 在最上面插入一行
79
+        # ws.insert_rows(1)
80
+        # 在E1单元格添加内容“修正系数”
81
+        ws.cell(row=1, column=1, value="序号")
82
+        ws.cell(row=1, column=2, value="结果期数")
83
+        ws.cell(row=1, column=3, value="起点")
84
+        ws.cell(row=1, column=4, value="终点")
85
+        ws.cell(row=1, column=5, value="修正系数")
86
+        ws.cell(row=1, column=6, value=correct_factor)
87
+        ws.cell(row=1, column=7, value="修正数")
88
+        ws.cell(row=1, column=8, value="期间差异")
89
+        ws.cell(row=1, column=9, value="变形判定")
90
+
91
+
92
+# 将 DataFrame 写入工作表
74 93
         for r in dataframe_to_rows(df, index=False, header=True):
75 94
             ws.append(r)
76 95
 
@@ -106,6 +125,16 @@ def main_function(ui, file_path, utf_en, db_path):
106 125
         # 设置列宽
107 126
         ws.column_dimensions['E'].width = 12
108 127
         ws.column_dimensions['F'].width = 12
128
+
129
+        # 保存 Excel 文件之前添加单元格合并操作
130
+        merge_cells = ['A1:A2', 'B1:B2', 'C1:C2', 'D1:D2', 'G1:G2', 'H1:H2', 'I1:I2']
131
+        for cell_range in merge_cells:
132
+            ws.merge_cells(cell_range)
133
+
134
+        # 设置合并单元格后的居中对齐
135
+        for cell_range in merge_cells:
136
+            cell = ws[cell_range.split(':')[0]]
137
+            cell.alignment = Alignment(horizontal='center', vertical='center')
109 138
         # 保存 Excel 文件
110 139
         excel_filename = f"水准测段高差计算成果表{time.strftime('%Y%m%d_%H%M%S')}.xlsx"
111 140
         excel_filepath = os.path.join(export_folder, excel_filename)

+ 5
- 5
Front/modules/ui_main.py Datei anzeigen

@@ -1757,11 +1757,11 @@ class Ui_MainWindow(object):
1757 1757
         self.View.setTabVisible(3, False)
1758 1758
 
1759 1759
         # 设置自动view里所有tableview的自动排序
1760
-        self.resultTableView.setSortingEnabled(True)
1761
-        self.resultTableView1.setSortingEnabled(True)
1762
-        self.reconTableView.setSortingEnabled(True)
1763
-        self.reconTableView1.setSortingEnabled(True)
1764
-        self.inputTableView1.setSortingEnabled(True)
1760
+        # self.resultTableView.setSortingEnabled(True)
1761
+        # self.resultTableView1.setSortingEnabled(True)
1762
+        # self.reconTableView.setSortingEnabled(True)
1763
+        # self.reconTableView1.setSortingEnabled(True)
1764
+        # self.inputTableView1.setSortingEnabled(True)
1765 1765
 
1766 1766
         self.formLayout_3.setLayout(0, QFormLayout.FieldRole, self.verticalLayout_30)
1767 1767
 

Laden…
Abbrechen
Speichern