✨ feat(error-analysis): add configurable header row for report layout
Add OUTPUT_HEADER_ROW constant (row 10) to allow space above error report: - Preserves rows 1-9 for title, instructions, or summary information - Error report header now starts at row 10 - Only clears data from header row downwards (preserves upper content) - Removed AutoFit to maintain custom column widths This provides flexibility for report formatting and allows additional context to be added above the error analysis data. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,8 @@ Option Explicit
|
||||
|
||||
' 提取条件配置
|
||||
Private Const CONDITION_CONFIG = "azxs,安装形式|bkxs,表壳形式|gclj,过程连接|jycz,接液材质|lcfw,量程范围|fjgn,附加功能"
|
||||
' 指定输出[BOM匹配异常报表]的表头所在行号
|
||||
Private Const OUTPUT_HEADER_ROW As Long = 10
|
||||
|
||||
'=====================================================================
|
||||
' 过程: GenerateErrorAnalysisReport
|
||||
@@ -437,21 +439,21 @@ Private Sub WriteOutputHeader(ws As Worksheet)
|
||||
Dim col As Long
|
||||
col = 1
|
||||
|
||||
ws.Cells(1, col).value = "总排号": col = col + 1
|
||||
ws.Cells(1, col).value = "生产订单号": col = col + 1
|
||||
ws.Cells(1, col).value = "产品型号": col = col + 1
|
||||
ws.Cells(OUTPUT_HEADER_ROW, col).value = "总排号": col = col + 1
|
||||
ws.Cells(OUTPUT_HEADER_ROW, col).value = "生产订单号": col = col + 1
|
||||
ws.Cells(OUTPUT_HEADER_ROW, col).value = "产品型号": col = col + 1
|
||||
|
||||
Dim configs() As String
|
||||
configs = Split(CONDITION_CONFIG, "|")
|
||||
Dim i As Long
|
||||
For i = LBound(configs) To UBound(configs)
|
||||
ws.Cells(1, col).value = Trim(Split(configs(i), ",")(1))
|
||||
ws.Cells(OUTPUT_HEADER_ROW, col).value = Trim(Split(configs(i), ",")(1))
|
||||
col = col + 1
|
||||
Next i
|
||||
|
||||
ws.Cells(1, col).value = "未匹配参数": col = col + 1
|
||||
ws.Cells(1, col).value = "未匹配参数值": col = col + 1
|
||||
ws.Cells(1, col).value = "提取备注": col = col + 1
|
||||
ws.Cells(OUTPUT_HEADER_ROW, col).value = "未匹配参数": col = col + 1
|
||||
ws.Cells(OUTPUT_HEADER_ROW, col).value = "未匹配参数值": col = col + 1
|
||||
ws.Cells(OUTPUT_HEADER_ROW, col).value = "提取备注": col = col + 1
|
||||
End Sub
|
||||
|
||||
'=====================================================================
|
||||
@@ -518,7 +520,8 @@ Private Sub WriteBatchData(ws As Worksheet, outputData As Collection)
|
||||
Next j
|
||||
Next i
|
||||
|
||||
ws.Range("A2").Resize(rowCount, colCount).value = resultData
|
||||
' 数据从表头的下一行开始写入
|
||||
ws.Cells(OUTPUT_HEADER_ROW + 1, 1).Resize(rowCount, colCount).value = resultData
|
||||
End Sub
|
||||
|
||||
'=====================================================================
|
||||
@@ -548,13 +551,14 @@ Private Function CreateErrorOutputSheet() As Worksheet
|
||||
Set CreateErrorOutputSheet = ThisWorkbook.Worksheets.Add
|
||||
CreateErrorOutputSheet.Name = wsName
|
||||
Else
|
||||
CreateErrorOutputSheet.Cells.Clear
|
||||
' 只清空表头及其以下的数据,保留表头以上的可能存在的内容
|
||||
CreateErrorOutputSheet.Rows(OUTPUT_HEADER_ROW & ":" & CreateErrorOutputSheet.Rows.count).Clear
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Sub FormatOutputSheet(ws As Worksheet)
|
||||
On Error Resume Next
|
||||
With ws.Rows(1)
|
||||
With ws.Rows(OUTPUT_HEADER_ROW)
|
||||
.Font.Bold = True
|
||||
.Interior.Color = RGB(244, 176, 132) ' 橙色背景,突出异常属性
|
||||
.HorizontalAlignment = xlCenter
|
||||
@@ -562,7 +566,7 @@ Private Sub FormatOutputSheet(ws As Worksheet)
|
||||
|
||||
' 将"未匹配参数"列和"未匹配参数值"列加粗显示,颜色标红
|
||||
Dim unmatchValCol As Long
|
||||
unmatchValCol = ws.Cells(1, ws.Columns.count).End(xlToLeft).Column - 1
|
||||
unmatchValCol = ws.Cells(OUTPUT_HEADER_ROW, ws.Columns.count).End(xlToLeft).Column - 1
|
||||
Dim unmatchParamCol As Long
|
||||
unmatchParamCol = unmatchValCol - 1
|
||||
|
||||
@@ -573,7 +577,6 @@ Private Sub FormatOutputSheet(ws As Worksheet)
|
||||
ws.Columns(unmatchValCol).Font.Bold = True
|
||||
End If
|
||||
|
||||
ws.Columns.AutoFit
|
||||
On Error GoTo 0
|
||||
End Sub
|
||||
|
||||
|
||||
Reference in New Issue
Block a user