啊鑫
6 天以前 5707781039b9d902ce1d2d6727fba65bbab14574
WebApi/Gs.Toolbox/ExcelHelper.cs
@@ -1032,9 +1032,6 @@
        }
        setCellVal(sheet, _idx, 0, "生产车间:" + (row0["workShop"]?.ToString() ?? ""));
        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 0, 5));
        setCellVal(sheet, _idx, 12, "室温:" + (row0["temperature"]?.ToString() ?? ""));
        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 12, 17));
        _idx++;
        // 第3行:产品信息
@@ -1053,11 +1050,9 @@
        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 6, 11));
        setCellVal(sheet, _idx, 6, row0["itemModel"]?.ToString() ?? "");
        setCellVal(sheet, _idx, 12, "电压");
        setCellVal(sheet, _idx, 13, row0["voltage"]?.ToString() ?? "");
        setCellVal(sheet, _idx, 14, "线号");
        setCellVal(sheet, _idx, 15, row0["lineNo"]?.ToString() ?? "");
        setCellVal(sheet, _idx, 12, "线号");
        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 13, 15));
        setCellVal(sheet, _idx, 13, row0["lineNo"]?.ToString() ?? "");
        _idx++;
        // 第4行:商标等信息
@@ -1127,6 +1122,32 @@
        setCellVal(sheet, _idx, 11, row0["sampleSize3"]?.ToString() ?? "");
        _idx++;
        int num;
        if(row0["SampleMethod"]?.ToString() == "匀速")
        {
            if (int.TryParse(row0["sampleSize1"]?.ToString(), out int size))
            {
                num = size;
            }
            else
            {
                num = 0;
            }
        }
        else
        {
            if (int.TryParse(row0["sampleSize2"]?.ToString(), out int size))
            {
                num = size;
            }
            else
            {
                num = 0;
            }
        }
        if (num > 16)
            num = 16;
        // 第7行:检验项目表头
        IRow headerRow = sheet.CreateRow(_idx);
        headerRow.HeightInPoints = rowHeight;
@@ -1137,10 +1158,8 @@
        }
        setCellVal(sheet, _idx, 0, "项目");
        setCellVal(sheet, _idx, 1, "标准");
        setCellVal(sheet, _idx, 2, "1");
        setCellVal(sheet, _idx, 3, "2");
        // 根据需要继续添加更多列标题,这里简化为主要列
        for (int i = 4; i < 18; i++)
        for (int i = 2; i < num+2; i++)
        {
            setCellVal(sheet, _idx, i, (i-1).ToString());
        }
@@ -1165,7 +1184,7 @@
                setCellVal(sheet, _idx, 1, rrr["RPB004"]?.ToString() ?? "");
                // 填充16个测试值
                for (int i = 0; i < 16; i++)
                for (int i = 0; i < num; i++)
                {
                    string colName = $"RPB{i + 5:D3}"; // RPB005, RPB006, ..., RPB020
                    if (rrr.Table.Columns.Contains(colName))
@@ -1261,7 +1280,7 @@
        }
        // 检验判定区域(3行布局)
        for (int judgeRowIndex = 0; judgeRowIndex < 3; judgeRowIndex++)
        for (int judgeRowIndex = 0; judgeRowIndex < 2; judgeRowIndex++)
        {
            IRow judgmentRow = sheet.CreateRow(_idx);
            judgmentRow.HeightInPoints = rowHeight;
@@ -1275,103 +1294,25 @@
            {
                // 第一行:检验判定
                setCellVal(sheet, _idx, 0, "检验判定");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx + 2, 0, 0)); // 检验判定跨3行
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx + 1, 0, 0)); // 修改为跨2行而不是3行
                setCellVal(sheet, _idx, 1, row0["CheckResult"]?.ToString() ?? "");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 5)); // 只合并当前行
                if (row0["CheckResult"]?.ToString() == "合格")
                {
                    setCellVal(sheet, _idx, 1, "√ 合格    □ 不合格");
                }
                else if(row0["CheckResult"]?.ToString() == "不合格")
                {
                    setCellVal(sheet, _idx, 1, "□ 合格    √ 不合格");
                }
                else
                {
                    setCellVal(sheet, _idx, 1, "□ 合格    □ 不合格");
                }
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx + 1, 1, 5)); // 合格/不合格跨2行
                setCellVal(sheet, _idx, 6, "审核");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx + 2, 6, 6)); // 审核跨3行
                if (row0["ProcessResults"]?.ToString() == "无")
                {
                    setCellVal(sheet, _idx, 7, "√ 无    □ 返工");
                }
                else if (row0["ProcessResults"]?.ToString() == "返工")
                {
                    setCellVal(sheet, _idx, 7, "□ 无    √ 返工");
                }
                else
                {
                    setCellVal(sheet, _idx, 7, "□ 无    □ 返工");
                }
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 7, 11));
                setCellVal(sheet, _idx, 12, "审批");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx + 2, 12, 12)); // 审批跨3行
                if (row0["ProcessResults"]?.ToString() == "无")
                {
                    setCellVal(sheet, _idx, 13, "√ 无    □ 返工");
                }
                else if (row0["ProcessResults"]?.ToString() == "返工")
                {
                    setCellVal(sheet, _idx, 13, "□ 无    √ 返工");
                }
                else
                {
                    setCellVal(sheet, _idx, 13, "□ 无    □ 返工");
                }
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 13, 17));
                setCellVal(sheet, _idx, 6, "检验签名");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 7, 10)); // 只合并当前行
                setCellVal(sheet, _idx, 7, row0["JY_NAME"]?.ToString() ?? "");
                setCellVal(sheet, _idx, 11, "审核签名");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 12, 16)); // 只合并当前行
                setCellVal(sheet, _idx, 12, row0["CHECK_USER"]?.ToString() ?? "");
            }
            else if (judgeRowIndex == 1)
            {
                if (row0["ProcessResults"]?.ToString() == "让步接收")
                {
                    setCellVal(sheet, _idx, 7, "√ 让步接收    □ 特采");
                }
                else if (row0["ProcessResults"]?.ToString() == "特采")
                {
                    setCellVal(sheet, _idx, 7, "□ 让步接收    √ 特采");
                }
                else
                {
                    setCellVal(sheet, _idx, 7, "□ 让步接收    □ 特采");
                }
                // 第二行:让步接收选项
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 7, 11));
                if (row0["ProcessResults"]?.ToString() == "让步接收")
                {
                    setCellVal(sheet, _idx, 13, "√ 让步接收    □ 特采");
                }
                else if (row0["ProcessResults"]?.ToString() == "特采")
                {
                    setCellVal(sheet, _idx, 13, "□ 让步接收    √ 特采");
                }
                else
                {
                    setCellVal(sheet, _idx, 13, "□ 让步接收    □ 特采");
                }
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 13, 17));
            }
            else
            {
                // 签名行
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 2));
                setCellVal(sheet, _idx, 1, $"签名/日期:");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 3, 5));
                setCellVal(sheet, _idx, 3, $"{row0["JY_USER"]?.ToString() ?? ""}/{row0["JY_DATE"]?.ToString() ?? ""}");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 7, 8));
                setCellVal(sheet, _idx, 7, $"签名/日期:");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 9, 11));
                setCellVal(sheet, _idx, 9, $"{row0["CHECK_USER"]?.ToString() ?? ""}/{row0["CHECK_DATE"]?.ToString() ?? ""}");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 13, 14));
                setCellVal(sheet, _idx, 13, $"签名/日期:");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 15, 17));
                setCellVal(sheet, _idx, 15, $"{row0["SP_USER"]?.ToString() ?? ""}/{row0["SP_DATE"]?.ToString() ?? ""}");
                setCellVal(sheet, _idx, 6, "检验日期");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 7, 10)); // 只合并当前行
                setCellVal(sheet, _idx, 7, row0["JY_DATE"]?.ToString() ?? "");
                setCellVal(sheet, _idx, 11, "审核日期");
                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 12, 16)); // 只合并当前行
                setCellVal(sheet, _idx, 12, row0["CHECK_DATE"]?.ToString() ?? "");
            }
            _idx++;
        }