From 1b3db8f5683373dd8e179b006e7314783dd1f9db Mon Sep 17 00:00:00 2001
From: cnf <3200815559@qq.com>
Date: 星期三, 10 九月 2025 14:42:12 +0800
Subject: [PATCH] 文件补充

---
 WebApi/Gs.Toolbox/ExcelHelper.cs |  916 ++++++++++----------------------------------------------
 1 files changed, 170 insertions(+), 746 deletions(-)

diff --git a/WebApi/Gs.Toolbox/ExcelHelper.cs b/WebApi/Gs.Toolbox/ExcelHelper.cs
index 7378881..818bf82 100644
--- a/WebApi/Gs.Toolbox/ExcelHelper.cs
+++ b/WebApi/Gs.Toolbox/ExcelHelper.cs
@@ -3,9 +3,11 @@
 using System.Text;
 using NPOI.HSSF.UserModel;
 using NPOI.HSSF.Util;
+using NPOI.SS.Formula.Functions;
 using NPOI.SS.UserModel;
 using NPOI.SS.Util;
 using NPOI.XSSF.UserModel;
+
 
 namespace Gs.Toolbox;
 
@@ -33,12 +35,12 @@
             arrColWidth[item.Ordinal] = Encoding.GetEncoding(936)
                 .GetBytes(item.ColumnName).Length;
         for (var i = 0; i < dtSource.Rows.Count; i++)
-        for (var j = 0; j < dtSource.Columns.Count; j++)
-        {
-            var intTemp = Encoding.GetEncoding(936)
-                .GetBytes(dtSource.Rows[i][j].ToString()).Length;
-            if (intTemp > arrColWidth[j]) arrColWidth[j] = intTemp;
-        }
+            for (var j = 0; j < dtSource.Columns.Count; j++)
+            {
+                var intTemp = Encoding.GetEncoding(936)
+                    .GetBytes(dtSource.Rows[i][j].ToString()).Length;
+                if (intTemp > arrColWidth[j]) arrColWidth[j] = intTemp;
+            }
 
         var rowIndex = 0;
         foreach (DataRow row in dtSource.Rows)
@@ -182,12 +184,12 @@
                 .GetBytes(item.ColumnName).Length;
         if (fixW <= 0)
             for (var i = 0; i < dtSource.Rows.Count; i++)
-            for (var j = 0; j < dtSource.Columns.Count; j++)
-            {
-                var intTemp = Encoding.GetEncoding(936)
-                    .GetBytes(dtSource.Rows[i][j].ToString()).Length;
-                if (intTemp > arrColWidth[j]) arrColWidth[j] = intTemp;
-            }
+                for (var j = 0; j < dtSource.Columns.Count; j++)
+                {
+                    var intTemp = Encoding.GetEncoding(936)
+                        .GetBytes(dtSource.Rows[i][j].ToString()).Length;
+                    if (intTemp > arrColWidth[j]) arrColWidth[j] = intTemp;
+                }
 
         var cusRow = sheet.CreateRow(0);
         var _rr = 0;
@@ -224,8 +226,8 @@
 
         //sheet.SetAutoFilter(new CellRangeAddress(0, 0, 0, dtSource.Columns.Count - 1)); //棣栬绛涢��
         // if (fixW <= 0)
-        //sheet.CreateFreezePane(dtSource.Columns.Count,
-        //    1 + aryHeader.Count); //棣栬鍐荤粨
+        sheet.CreateFreezePane(dtSource.Columns.Count,
+            1 + aryHeader.Count); //棣栬鍐荤粨
         //濉厖鍐呭
         var dataRow = sheet.CreateRow(roct + 1);
         for (var i = 0; i < dtSource.Rows.Count; i++)
@@ -295,6 +297,7 @@
     }
 
     /// <summary>
+    /// 
     /// </summary>
     /// <param name="workbook"></param>
     /// <param name="fontSize">瀛椾綋澶у皬</param>
@@ -302,68 +305,64 @@
     /// <param name="isCenter">鏄惁涓棿</param>
     /// <param name="border">鏄惁杈规</param>
     /// <returns></returns>
-    private static ICellStyle getStyle(HSSFWorkbook workbook,
-        double fontSize = 11, bool isBold = false, bool isCenter = false,
-        bool border = true)
+    private static ICellStyle getStyle(HSSFWorkbook workbook, double fontSize = 11, bool isBold = false, bool isCenter = false, bool border = true)
     {
-        var font = workbook.CreateFont();
+        IFont font = workbook.CreateFont();
         font.FontName = "瀹嬩綋";
         font.FontHeightInPoints = fontSize;
-        if (isBold)
+        if (isBold == true)
             font.Boldweight = (short)FontBoldWeight.Bold;
         // 鍒涘缓鍗曞厓鏍兼牱寮� - 甯﹁竟妗嗗拰鎸囧畾瀛椾綋
-        var style = workbook.CreateCellStyle();
+        ICellStyle style = workbook.CreateCellStyle();
         style.SetFont(font);
-        if (border)
+        if (border == true)
         {
             style.BorderTop = BorderStyle.Thin;
             style.BorderBottom = BorderStyle.Thin;
             style.BorderLeft = BorderStyle.Thin;
             style.BorderRight = BorderStyle.Thin;
         }
-
-        if (isCenter)
+        if (isCenter == true)
             style.Alignment = HorizontalAlignment.Center;
         style.VerticalAlignment = VerticalAlignment.Center;
         return style;
     }
 
     /// <summary>
-    ///     璁剧疆鍗曞厓鏍肩殑鍊�
+    /// 璁剧疆鍗曞厓鏍肩殑鍊�
     /// </summary>
     /// <param name="sheet"></param>
     /// <param name="rowIdx"></param>
     /// <param name="colIdx"></param>
     /// <param name="val"></param>
-    private static void setCellVal(ISheet sheet, int rowIdx, int colIdx,
-        string val)
+    private static void setCellVal(ISheet sheet, int rowIdx, int colIdx, string val)
     {
-        var row = sheet.GetRow(rowIdx) ?? sheet.CreateRow(rowIdx);
-        var cell = row.GetCell(colIdx) ?? row.CreateCell(colIdx);
+        IRow row = sheet.GetRow(rowIdx) ?? sheet.CreateRow(rowIdx);
+        ICell cell = row.GetCell(colIdx) ?? row.CreateCell(colIdx);
         cell.SetCellValue(val); // 鍙互璁剧疆瀛楃涓层�佹暟瀛楃瓑绫诲瀷鐨勬暟鎹�
-    }
 
+    }
     /// <summary>
-    ///     鐢熸垚棣栨
+    /// 鐢熸垚棣栨
     /// </summary>
     /// <param name="dtSource"></param>
     public static void ExportShouJian(DataSet dtSource, string strFileName)
     {
         //琛岄珮
-        var rowHeight = 25;
+        int rowHeight = 25;
         //鎬�7鍒�
-        var maxCols = 7;
+        int maxCols = 7;
         // 鍒涘缓宸ヤ綔绨�
-        var workbook = new HSSFWorkbook();
-        var sheet = workbook.CreateSheet("Sheet1");
+        HSSFWorkbook workbook = new HSSFWorkbook();
+        ISheet sheet = workbook.CreateSheet("Sheet1");
 
         // 鍒涘缓鍗曞厓鏍兼牱寮� - 甯﹁竟妗嗗拰鎸囧畾瀛椾綋
-        var style = getStyle(workbook);
-        var styleHeader = getStyle(workbook, 20, true, true);
-        var style12 = getStyle(workbook, 11, false, true);
+        ICellStyle style = getStyle(workbook);
+        ICellStyle styleHeader = getStyle(workbook, 20, true, true);
+        ICellStyle style12 = getStyle(workbook, 11, false, true);
 
         // 璁剧疆鍒楀锛�6鍒楋級
-        sheet.SetColumnWidth(0, 4000); // 绗竴鍒楃◢瀹�
+        sheet.SetColumnWidth(0, 4000);  // 绗竴鍒楃◢瀹�
         sheet.SetColumnWidth(1, 3000);
         sheet.SetColumnWidth(2, 3000);
         sheet.SetColumnWidth(3, 3000);
@@ -371,25 +370,24 @@
         sheet.SetColumnWidth(5, 3000);
         sheet.SetColumnWidth(6, 3000);
         // 鍒涘缓20琛�
-        for (var rowIndex = 0; rowIndex <= 6; rowIndex++)
+        for (int rowIndex = 0; rowIndex <= 6; rowIndex++)
         {
-            var row = sheet.CreateRow(rowIndex);
+            IRow row = sheet.CreateRow(rowIndex);
             // 璁剧疆琛岄珮锛堟墍鏈夎鐩稿悓楂樺害锛�
             row.HeightInPoints = rowHeight;
             // 鍒涘缓6涓崟鍏冩牸
-            for (var colIndex = 0; colIndex < maxCols; colIndex++)
+            for (int colIndex = 0; colIndex < maxCols; colIndex++)
             {
-                var cell = row.CreateCell(colIndex);
+                ICell cell = row.CreateCell(colIndex);
                 if (rowIndex == 0)
                     cell.CellStyle = styleHeader;
                 else
                     cell.CellStyle = style;
             }
         }
-
         //杩欐槸琛ㄥご
-        var tb0 = dtSource.Tables[0];
-        var row0 = tb0.Rows[0];
+        DataTable tb0 = dtSource.Tables[0];
+        DataRow row0 = tb0.Rows[0];
         // 1. 绗竴琛屽垪鍚堝苟
         sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 6));
         // 2. 绗簩琛屽垪鍚堝苟
@@ -424,171 +422,44 @@
         setCellVal(sheet, 5, 5, "鐢熶骇鏃ユ湡");
         setCellVal(sheet, 5, 6, row0["scrq"].ToString());
         string[] ary = { "椤圭洰", "鎶�鏈�/鍝佽川瑕佹眰", "娴嬭瘯鏁版嵁", "妫�楠岀粨鏋�", "A", "B", "C" };
-        for (var i = 0; i < ary.Length; i++) setCellVal(sheet, 6, i, ary[i]);
+        for (int i = 0; i < ary.Length; i++)
+        {
+            setCellVal(sheet, 6, i, ary[i]);
+        }
         //浠庣7琛屽紑濮嬶紝灏辨槸寰幆鏁版嵁搴�
-        var _idx = 7;
-        var tb1 = dtSource.Tables[1];
-        var dd = "";
-        var _blPscs = false;
-        var _blGjyzx = false;
+        int _idx = 7;
+        DataTable tb1 = dtSource.Tables[1];
         foreach (DataRow rrr in tb1.Rows)
         {
-            //澧炲姞鍝佹按娴嬭瘯鏍囬
-            if (!_blPscs && rrr["椤圭洰"].ToString() == "鍝佹按娴嬭瘯")
-            {
-                var row700 = sheet.CreateRow(_idx);
-                for (var i = 0; i < ary.Length; i++)
-                {
-                    var cell700 = row700.CreateCell(i);
-                    cell700.CellStyle = style;
-                    if (i == 0)
-                        cell700.SetCellValue(rrr["椤圭洰"].ToString());
-                    if (i == 1)
-                        cell700.SetCellValue("娓╁害");
-                    if (i == 3)
-                        cell700.SetCellValue("娴侀噺");
-                    if (i == 5)
-                        cell700.SetCellValue("鏄惁鏈夊紓鍛�");
-                    if (i == 6)
-                        cell700.SetCellValue("妫�楠岀粨鏋�");
-                }
-
-                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 2));
-                sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 3, 4));
-                _idx++;
-                _blPscs = true;
-            }
-
-            //澧炲姞鏍囬
-            if (!_blGjyzx && rrr["椤圭洰"].ToString() == "鍏抽敭閮ㄤ欢涓�鑷存��")
-            {
-                var row700 = sheet.CreateRow(_idx);
-                for (var i = 0; i < ary.Length; i++)
-                {
-                    var cell700 = row700.CreateCell(i);
-                    cell700.CellStyle = style;
-                    if (i == 0)
-                        cell700.SetCellValue(rrr["椤圭洰"].ToString());
-                    if (i == 1)
-                        cell700.SetCellValue("鍏抽敭鍚嶇О");
-                    if (i == 2)
-                        cell700.SetCellValue("鐢熶骇鏃ユ湡");
-                    if (i == 3)
-                        cell700.SetCellValue("浣跨敤鏁伴噺");
-                    if (i == 4)
-                        cell700.SetCellValue("璁よ瘉淇℃伅");
-                    if (i == 5)
-                        cell700.SetCellValue("鏄惁绗﹀悎CCC涓�鑷存��");
-                    if (i == 6)
-                        cell700.SetCellValue("鎿嶄綔");
-                }
-
-                _idx++;
-                _blGjyzx = true;
-            }
-
-            var row7 = sheet.CreateRow(_idx);
+            IRow row7 = sheet.CreateRow(_idx);
             row7.HeightInPoints = rowHeight;
-            var _tmphb = rrr["椤圭洰鍚堝苟琛屾暟"].ToString();
-            var _tmp = "";
-            if (dd == rrr["椤圭洰"].ToString())
-                _tmp = "";
-            else
-                _tmp = rrr["椤圭洰"].ToString();
-            dd = rrr["椤圭洰"].ToString();
-            for (var i = 0; i < ary.Length; i++)
+            for (int i = 0; i < ary.Length; i++)
             {
-                var cell7 = row7.CreateCell(i);
+                ICell cell7 = row7.CreateCell(i);
                 cell7.CellStyle = style;
-                if (i == 0)
-                {
-                    cell7.SetCellValue(_tmp);
-                    if (!string.IsNullOrEmpty(_tmp) && int.Parse(_tmphb) > 1)
-                    {
-                        if (rrr["椤圭洰"].ToString() == "鍝佹按娴嬭瘯" ||
-                            rrr["椤圭洰"].ToString() == "鍏抽敭閮ㄤ欢涓�鑷存��")
-                            sheet.AddMergedRegion(new CellRangeAddress(_idx - 1,
-                                _idx + int.Parse(_tmphb) - 1, 0, 0));
-                        else
-                            sheet.AddMergedRegion(new CellRangeAddress(_idx,
-                                _idx + int.Parse(_tmphb) - 1, 0, 0));
-                    }
-                }
-                else
-                {
-                    switch (rrr["椤圭洰"].ToString())
-                    {
-                        case "鍒剁儹鎬ц兘":
-                            cell7.SetCellValue(rrr["鍒剁儹鎬ц兘table"].ToString());
-                            row7.HeightInPoints = rowHeight * 5;
-                            if (i == ary.Length - 1)
-                                sheet.AddMergedRegion(
-                                    new CellRangeAddress(_idx, _idx, 1, 6));
-                            break;
-                        case "鍝佹按娴嬭瘯":
-                            //搴︽暟
-                            if (i == 1)
-                                cell7.SetCellValue(rrr["鎶�鏈�/鍝佽川瑕佹眰"].ToString());
-                            if (i == 3)
-                                cell7.SetCellValue(rrr["鍝佹按娴嬭瘯娴侀噺"].ToString());
-                            if (i == 5)
-                                cell7.SetCellValue(rrr["鏄惁鏈夊紓鍛�"].ToString());
-                            if (i == 6)
-                                cell7.SetCellValue(rrr["妫�楠岀粨鏋�"].ToString());
-                            if (i == ary.Length - 1)
-                            {
-                                sheet.AddMergedRegion(
-                                    new CellRangeAddress(_idx, _idx, 1, 2));
-                                sheet.AddMergedRegion(
-                                    new CellRangeAddress(_idx, _idx, 3, 4));
-                            }
+                cell7.SetCellValue(rrr[ary[i]].ToString());
 
-                            break;
-                        case "鍏抽敭閮ㄤ欢涓�鑷存��":
-                            if (i == 1)
-                                cell7.SetCellValue(rrr["鎶�鏈�/鍝佽川瑕佹眰"].ToString());
-                            if (i == 2)
-                                cell7.SetCellValue(rrr["鐢熶骇鏃ユ湡"].ToString());
-                            if (i == 3)
-                                cell7.SetCellValue(rrr["浣跨敤鏁伴噺"].ToString());
-                            if (i == 4)
-                                cell7.SetCellValue(rrr["璁よ瘉淇℃伅"].ToString());
-                            if (i == 5)
-                                cell7.SetCellValue(rrr["鏄惁绗﹀悎CCC涓�鑷存��"]
-                                    .ToString());
-                            //if (i == 6)
-                            //    cell7.SetCellValue(rrr["妫�楠岀粨鏋�"].ToString());
-                            break;
-                        default:
-                            cell7.SetCellValue(rrr[ary[i]].ToString());
-                            break;
-                    }
-                }
             }
-
             _idx++;
         }
-
-        var row8 = sheet.CreateRow(_idx);
+        IRow row8 = sheet.CreateRow(_idx);
         row8.HeightInPoints = rowHeight;
-        for (var colIndex = 0; colIndex < maxCols; colIndex++)
+        for (int colIndex = 0; colIndex < maxCols; colIndex++)
         {
-            var cell = row8.CreateCell(colIndex);
+            ICell cell = row8.CreateCell(colIndex);
             cell.CellStyle = style12;
         }
-
         sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 5));
         setCellVal(sheet, _idx, 0, "缁煎悎鍒ゅ畾");
         setCellVal(sheet, _idx, 1, "鍚堟牸");
         _idx++;
-        var row9 = sheet.CreateRow(_idx);
+        IRow row9 = sheet.CreateRow(_idx);
         row9.HeightInPoints = rowHeight;
-        for (var colIndex = 0; colIndex < maxCols; colIndex++)
+        for (int colIndex = 0; colIndex < maxCols; colIndex++)
         {
-            var cell = row9.CreateCell(colIndex);
+            ICell cell = row9.CreateCell(colIndex);
             cell.CellStyle = style;
         }
-
         sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 3));
         sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 4, 6));
         setCellVal(sheet, _idx, 1, "宸ヨ壓  宸茬‘璁わ細鍚堟牸");
@@ -596,30 +467,48 @@
         sheet.AddMergedRegion(new CellRangeAddress(_idx - 1, _idx, 0, 0));
         _idx++;
 
-        var row10 = sheet.CreateRow(_idx);
+        IRow row10 = sheet.CreateRow(_idx);
         row10.HeightInPoints = rowHeight;
-        for (var colIndex = 0; colIndex < maxCols; colIndex++)
+        for (int colIndex = 0; colIndex < maxCols; colIndex++)
         {
-            var cell = row10.CreateCell(colIndex);
+            ICell cell = row10.CreateCell(colIndex);
             cell.CellStyle = style12;
         }
-
         sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 5));
         setCellVal(sheet, _idx, 0, "瀹℃牳鎰忚");
         setCellVal(sheet, _idx, 1, "鍚堟牸");
         _idx++;
 
-        var row11 = sheet.CreateRow(_idx);
+        IRow row11 = sheet.CreateRow(_idx);
         row11.HeightInPoints = rowHeight;
-        for (var colIndex = 0; colIndex < maxCols; colIndex++)
+        for (int colIndex = 0; colIndex < maxCols; colIndex++)
         {
-            var cell = row11.CreateCell(colIndex);
+            ICell cell = row11.CreateCell(colIndex);
             cell.CellStyle = style12;
         }
-
         sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 0, 6));
         setCellVal(sheet, _idx, 0, "棣栦欢濉啓,鏉ユ枡妫�楠�");
         //****鍚堝苟濂藉悗寮�濮嬭祴鍊糴nd**************
+
+        // 5. 绗�8鍒�10琛屼腑鐨勭涓�鍒楀簲琚悎骞�
+        //sheet.AddMergedRegion(new CellRangeAddress(7, 9, 0, 0));
+
+        //// 6. 绗�17锛�18琛屼腑鐨勭涓�鍒楀悎骞�
+        //sheet.AddMergedRegion(new CellRangeAddress(16, 17, 0, 0));
+
+        //// 7. 绗�17琛屼腑鐨�2锛�3锛�4锛�5鍒楀悎骞�
+        //sheet.AddMergedRegion(new CellRangeAddress(16, 16, 1, 4));
+
+        //// 8. 绗�18琛屼腑鐨勶紝2锛�3鍒楀悎骞讹紝4锛�5锛�6鍒楀悎骞�
+        //sheet.AddMergedRegion(new CellRangeAddress(17, 17, 1, 2));
+        //sheet.AddMergedRegion(new CellRangeAddress(17, 17, 3, 5));
+
+        //// 9. 绗�19琛屼腑鐨勶紝鍒�2锛�3锛�4鍚堝苟
+        //sheet.AddMergedRegion(new CellRangeAddress(18, 18, 1, 3));
+
+        //// 10. 绗�20琛屼腑鐨勫垪鍏ㄩ儴鍚堝苟
+        //sheet.AddMergedRegion(new CellRangeAddress(19, 19, 0, 5));
+
         //淇濆瓨
         using (var ms = new MemoryStream())
         {
@@ -637,26 +526,26 @@
     }
 
     /// <summary>
-    ///     鐢熸垚iqc
+    /// 鐢熸垚iqc
     /// </summary>
     /// <param name="dtSource"></param>
     public static void ExportIqc(DataSet dtSource, string strFileName)
     {
         //琛岄珮
-        var rowHeight = 25;
+        int rowHeight = 25;
         //鎬诲垪
-        var maxCols = 8;
+        int maxCols = 8;
         // 鍒涘缓宸ヤ綔绨�
-        var workbook = new HSSFWorkbook();
-        var sheet = workbook.CreateSheet("Sheet1");
+        HSSFWorkbook workbook = new HSSFWorkbook();
+        ISheet sheet = workbook.CreateSheet("Sheet1");
 
         // 鍒涘缓鍗曞厓鏍兼牱寮� - 甯﹁竟妗嗗拰鎸囧畾瀛椾綋
-        var style = getStyle(workbook);
-        var styleHeader = getStyle(workbook, 20, true, true);
-        var style12 = getStyle(workbook, 11, false, true);
+        ICellStyle style = getStyle(workbook);
+        ICellStyle styleHeader = getStyle(workbook, 20, true, true);
+        ICellStyle style12 = getStyle(workbook, 11, false, true);
 
         // 璁剧疆鍒楀锛�6鍒楋級
-        sheet.SetColumnWidth(0, 3000); // 绗竴鍒楃◢瀹�
+        sheet.SetColumnWidth(0, 3000);  // 绗竴鍒楃◢瀹�
         sheet.SetColumnWidth(1, 3000);
         sheet.SetColumnWidth(2, 3000);
         sheet.SetColumnWidth(3, 3000);
@@ -665,15 +554,15 @@
         sheet.SetColumnWidth(6, 3000);
         sheet.SetColumnWidth(7, 3000);
         // 鍒涘缓9琛�
-        for (var rowIndex = 0; rowIndex <= 8; rowIndex++)
+        for (int rowIndex = 0; rowIndex <= 8; rowIndex++)
         {
-            var row = sheet.CreateRow(rowIndex);
+            IRow row = sheet.CreateRow(rowIndex);
             // 璁剧疆琛岄珮锛堟墍鏈夎鐩稿悓楂樺害锛�
             row.HeightInPoints = rowHeight;
             // 鍒涘缓涓崟鍏冩牸
-            for (var colIndex = 0; colIndex < maxCols; colIndex++)
+            for (int colIndex = 0; colIndex < maxCols; colIndex++)
             {
-                var cell = row.CreateCell(colIndex);
+                ICell cell = row.CreateCell(colIndex);
                 if (rowIndex == 1)
                     cell.CellStyle = styleHeader;
                 else
@@ -682,10 +571,9 @@
                 cell.SetCellValue($"琛寋rowIndex + 1}鍒梴colIndex + 1}");
             }
         }
-
         //杩欐槸琛ㄥご
-        var tb0 = dtSource.Tables[0];
-        var row0 = tb0.Rows[0];
+        DataTable tb0 = dtSource.Tables[0];
+        DataRow row0 = tb0.Rows[0];
         //绗竴琛屽垪鍚堝苟
         sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 3));
         sheet.AddMergedRegion(new CellRangeAddress(0, 0, 4, 7));
@@ -737,27 +625,26 @@
         setCellVal(sheet, 6, 6, "涓嶅悎鏍兼暟");
         setCellVal(sheet, 6, 7, row0["bhgs"].ToString());
         setCellVal(sheet, 7, 0, "鍒ゅ畾Ac/Re");
-        setCellVal(sheet, 7, 1, row0["cr"].ToString());
-        setCellVal(sheet, 7, 2, row0["ma"].ToString());
-        setCellVal(sheet, 7, 3, row0["mi"].ToString());
+        setCellVal(sheet, 7, 1, "0/1");
+        setCellVal(sheet, 7, 2, "0/1");
+        setCellVal(sheet, 7, 3, "0/1");
         setCellVal(sheet, 8, 0, "椤圭洰");
         setCellVal(sheet, 8, 1, "璐ㄩ噺瑕佹眰");
         setCellVal(sheet, 8, 6, "妫�楠岃褰�");
         setCellVal(sheet, 8, 7, "妫�楠岀粨鏋�");
         ////浠庣9琛屽紑濮嬶紝灏辨槸寰幆鏁版嵁搴�
-        var _idx = 9;
-        var tb1 = dtSource.Tables[1];
+        int _idx = 9;
+        DataTable tb1 = dtSource.Tables[1];
         foreach (DataRow rrr in tb1.Rows)
         {
-            var row7 = sheet.CreateRow(_idx);
+            IRow row7 = sheet.CreateRow(_idx);
             row7.HeightInPoints = rowHeight;
-            for (var i = 0; i < maxCols; i++)
+            for (int i = 0; i < maxCols; i++)
             {
-                var cell7 = row7.CreateCell(i);
+                ICell cell7 = row7.CreateCell(i);
                 cell7.CellStyle = style;
                 // cell7.SetCellValue(rrr[ary[i]].ToString());
             }
-
             sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 5));
             setCellVal(sheet, _idx, 0, rrr["椤圭洰"].ToString());
             setCellVal(sheet, _idx, 1, rrr["璐ㄩ噺瑕佹眰"].ToString());
@@ -765,33 +652,29 @@
             setCellVal(sheet, _idx, 7, rrr["妫�楠岀粨鏋�"].ToString());
             _idx++;
         }
-
         //澶囨敞
-        var row8 = sheet.CreateRow(_idx);
+        IRow row8 = sheet.CreateRow(_idx);
         row8.HeightInPoints = rowHeight;
-        for (var colIndex = 0; colIndex < maxCols; colIndex++)
+        for (int colIndex = 0; colIndex < maxCols; colIndex++)
         {
-            var cell = row8.CreateCell(colIndex);
+            ICell cell = row8.CreateCell(colIndex);
             cell.CellStyle = style12;
         }
-
         sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 7));
         setCellVal(sheet, _idx, 0, "澶囨敞锛�");
         _idx++;
         //缁煎悎鍒ゅ畾
-        for (var i = 0; i < 2; i++)
+        for (int i = 0; i < 2; i++)
         {
-            var row9 = sheet.CreateRow(_idx);
+            IRow row9 = sheet.CreateRow(_idx);
             row9.HeightInPoints = rowHeight;
-            for (var colIndex = 0; colIndex < maxCols; colIndex++)
+            for (int colIndex = 0; colIndex < maxCols; colIndex++)
             {
-                var cell = row9.CreateCell(colIndex);
+                ICell cell = row9.CreateCell(colIndex);
                 cell.CellStyle = style;
             }
-
             _idx++;
         }
-
         sheet.AddMergedRegion(new CellRangeAddress(_idx - 2, _idx - 1, 0, 0));
         sheet.AddMergedRegion(new CellRangeAddress(_idx - 2, _idx - 2, 1, 7));
         sheet.AddMergedRegion(new CellRangeAddress(_idx - 1, _idx - 1, 1, 7));
@@ -799,19 +682,17 @@
         setCellVal(sheet, _idx - 2, 1, row0["zhpd"].ToString());
         setCellVal(sheet, _idx - 1, 1, row0["zhpdqz"].ToString());
         //瀹℃牳鎰忚锛�
-        for (var i = 0; i < 2; i++)
+        for (int i = 0; i < 2; i++)
         {
-            var row9 = sheet.CreateRow(_idx);
+            IRow row9 = sheet.CreateRow(_idx);
             row9.HeightInPoints = rowHeight;
-            for (var colIndex = 0; colIndex < maxCols; colIndex++)
+            for (int colIndex = 0; colIndex < maxCols; colIndex++)
             {
-                var cell = row9.CreateCell(colIndex);
+                ICell cell = row9.CreateCell(colIndex);
                 cell.CellStyle = style;
             }
-
             _idx++;
         }
-
         sheet.AddMergedRegion(new CellRangeAddress(_idx - 2, _idx - 1, 0, 0));
         sheet.AddMergedRegion(new CellRangeAddress(_idx - 2, _idx - 2, 1, 7));
         sheet.AddMergedRegion(new CellRangeAddress(_idx - 1, _idx - 1, 1, 7));
@@ -819,31 +700,26 @@
         setCellVal(sheet, _idx - 2, 1, row0["shyj"].ToString());
         setCellVal(sheet, _idx - 1, 1, row0["shyjqz"].ToString());
         string[] ary = { "閲囪喘閮ㄦ剰瑙�", "閿�鍞儴鎰忚", "鎶�鏈儴鎰忚", "鐢熶骇閮ㄦ剰瑙�", "鍝佽川閮ㄦ剰瑙�" };
-        for (var i = 0; i < ary.Length; i++)
+        for (int i = 0; i < ary.Length; i++)
         {
-            var row9 = sheet.CreateRow(_idx);
+            IRow row9 = sheet.CreateRow(_idx);
             row9.HeightInPoints = rowHeight;
-            for (var colIndex = 0; colIndex < maxCols; colIndex++)
+            for (int colIndex = 0; colIndex < maxCols; colIndex++)
             {
-                var cell = row9.CreateCell(colIndex);
+                ICell cell = row9.CreateCell(colIndex);
                 cell.CellStyle = style;
             }
-
             // sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 0, 1));
             sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 2, 7));
             _idx++;
         }
-
         setCellVal(sheet, _idx - ary.Length, 0, "涓嶅悎鏍艰瘎瀹★細");
-        sheet.AddMergedRegion(new CellRangeAddress(_idx - ary.Length, _idx - 1,
-            0, 0));
-        for (var i = 0; i < ary.Length; i++)
+        sheet.AddMergedRegion(new CellRangeAddress(_idx - ary.Length, _idx - 1, 0, 0));
+        for (int i = 0; i < ary.Length; i++)
         {
             setCellVal(sheet, _idx - i - 1, 1, ary[i]);
-            setCellVal(sheet, _idx - i - 1, 2,
-                "鈻� 鍚屾剰           鈻� 涓嶅悓鎰�        绛惧悕/鏃ユ湡锛�");
+            setCellVal(sheet, _idx - i - 1, 2, "鈻� 鍚屾剰           鈻� 涓嶅悓鎰�        绛惧悕/鏃ユ湡锛�");
         }
-
         //****鍚堝苟濂藉悗寮�濮嬭祴鍊糴nd**************
         //淇濆瓨
         using (var ms = new MemoryStream())
@@ -863,26 +739,28 @@
 
 
     /// <summary>
-    ///     鐢熸垚宸℃
+    /// 鐢熸垚宸℃
     /// </summary>
     /// <param name="dtSource"></param>
     public static void ExportXunJian(DataSet dtSource, string strFileName)
     {
-        var tb0 = dtSource.Tables[0];
-        var row0 = tb0.Rows[0];
-        var tb1 = dtSource.Tables[1];
+        DataTable tb0 = dtSource.Tables[0];
+        DataRow row0 = tb0.Rows[0];
+        DataTable tb1 = dtSource.Tables[1];
         //琛岄珮
-        var rowHeight = 25;
+        int rowHeight = 25;
         //鎬诲垪
-        var maxCols = 10;
-        var workbook = new HSSFWorkbook();
-        var sheet = workbook.CreateSheet("Sheet1");
+        int maxCols = tb1.Columns.Count;
+        HSSFWorkbook workbook = new HSSFWorkbook();
+        ISheet sheet = workbook.CreateSheet("Sheet1");
+
         // 鍒涘缓鍗曞厓鏍兼牱寮� - 甯﹁竟妗嗗拰鎸囧畾瀛椾綋
-        var style = getStyle(workbook);
-        var styleHeader = getStyle(workbook, 20, true, true);
-        var style12 = getStyle(workbook, 11, false, true);
-        // 璁剧疆鍒楀锛�10鍒楋級
-        sheet.SetColumnWidth(0, 3000); // 绗竴鍒楃◢瀹�
+        ICellStyle style = getStyle(workbook);
+        ICellStyle styleHeader = getStyle(workbook, 20, true, true);
+        ICellStyle style12 = getStyle(workbook, 11, false, true);
+
+        // 璁剧疆鍒楀锛�6鍒楋級
+        sheet.SetColumnWidth(0, 3000);  // 绗竴鍒楃◢瀹�
         sheet.SetColumnWidth(1, 3000);
         sheet.SetColumnWidth(2, 3000);
         sheet.SetColumnWidth(3, 3000);
@@ -890,108 +768,61 @@
         sheet.SetColumnWidth(5, 3000);
         sheet.SetColumnWidth(6, 3000);
         sheet.SetColumnWidth(7, 3000);
-        sheet.SetColumnWidth(8, 3000);
-        sheet.SetColumnWidth(9, 3000);
-        // 鍒涘缓澶磋
-        for (var rowIndex = 0; rowIndex <= 2; rowIndex++)
+        // 鍒涘缓琛�
+        for (int rowIndex = 0; rowIndex <= 1; rowIndex++)
         {
-            var row = sheet.CreateRow(rowIndex);
+            IRow row = sheet.CreateRow(rowIndex);
             // 璁剧疆琛岄珮锛堟墍鏈夎鐩稿悓楂樺害锛�
             row.HeightInPoints = rowHeight;
             // 鍒涘缓涓崟鍏冩牸
-            for (var colIndex = 0; colIndex < maxCols; colIndex++)
+            for (int colIndex = 0; colIndex < maxCols; colIndex++)
             {
-                var cell = row.CreateCell(colIndex);
+                ICell cell = row.CreateCell(colIndex);
                 if (rowIndex == 0)
                     cell.CellStyle = styleHeader;
                 else
                     cell.CellStyle = style;
             }
         }
-
         //绗竴琛屽垪鍚堝苟
-        sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 9));
+        sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 7));
         setCellVal(sheet, 0, 0, row0["title"].ToString());
-        //绗簩琛屽垪鍚堝苟
-        sheet.AddMergedRegion(new CellRangeAddress(1, 1, 0, 1));
-        sheet.AddMergedRegion(new CellRangeAddress(1, 1, 6, 9));
-        setCellVal(sheet, 1, 0, "宸ュ崟鍙�");
-        setCellVal(sheet, 1, 2, row0["daaNo"].ToString());
-        setCellVal(sheet, 1, 3, "浜у搧鍚嶇О");
-        setCellVal(sheet, 1, 4, row0["itemName"].ToString());
-        setCellVal(sheet, 1, 5, "瑙勬牸鍨嬪彿");
-        setCellVal(sheet, 1, 6, row0["itemModel"].ToString());
-        //绗笁琛屽垪鍚堝苟
-        sheet.AddMergedRegion(new CellRangeAddress(2, 2, 2, 4));
-        setCellVal(sheet, 2, 0, "搴忓彿");
-        setCellVal(sheet, 2, 1, "妫�楠岄」鐩�");
-        setCellVal(sheet, 2, 2, "妫�楠屾爣鍑�");
-        setCellVal(sheet, 2, 5, row0["tm1"].ToString());
-        setCellVal(sheet, 2, 6, row0["tm2"].ToString());
-        setCellVal(sheet, 2, 7, row0["tm3"].ToString());
-        setCellVal(sheet, 2, 8, row0["tm4"].ToString());
-        setCellVal(sheet, 2, 9, row0["tm5"].ToString());
         //寰幆鏁版嵁搴�
-        var _idx = 3;
+        int _idx = 1;
+        IRow row6 = sheet.CreateRow(_idx);
+        for (int colIndex = 0; colIndex < maxCols; colIndex++)
+        {
+            ICell cell6 = row6.CreateCell(colIndex);
+            cell6.CellStyle = style;
+            cell6.SetCellValue(tb1.Columns[colIndex].Caption.ToString().Trim());
+        }
+        _idx++;
         foreach (DataRow rrr in tb1.Rows)
         {
-            var row7 = sheet.CreateRow(_idx);
+            IRow row7 = sheet.CreateRow(_idx);
             row7.HeightInPoints = rowHeight;
-            for (var colIndex = 0; colIndex < maxCols; colIndex++)
+            for (int colIndex = 0; colIndex < tb1.Columns.Count; colIndex++)
             {
-                var cell7 = row7.CreateCell(colIndex);
+                ICell cell7 = row7.CreateCell(colIndex);
                 cell7.CellStyle = style;
-                // cell7.SetCellValue("1");
-                switch (colIndex)
-                {
-                    case 0:
-                        cell7.SetCellValue(rrr["搴忓彿"].ToString());
-                        break;
-                    case 1:
-                        sheet.AddMergedRegion(
-                            new CellRangeAddress(_idx, _idx, 2, 4));
-                        cell7.SetCellValue(rrr["妫�楠岄」鐩�"].ToString());
-                        break;
-                    case 2:
-                        cell7.SetCellValue(rrr["妫�楠屾爣鍑�"].ToString());
-                        break;
-                    case 5:
-                        cell7.SetCellValue(rrr["tm1"].ToString());
-                        break;
-                    case 6:
-                        cell7.SetCellValue(rrr["tm2"].ToString());
-                        break;
-                    case 7:
-                        cell7.SetCellValue(rrr["tm3"].ToString());
-                        break;
-                    case 8:
-                        cell7.SetCellValue(rrr["tm4"].ToString());
-                        break;
-                    case 9:
-                        cell7.SetCellValue(rrr["tm5"].ToString());
-                        break;
-                }
+                cell7.SetCellValue(rrr[tb1.Columns[colIndex]].ToString());
             }
-
             _idx++;
         }
-
-        ////澶囨敞
-        var row8 = sheet.CreateRow(_idx);
+        //澶囨敞
+        IRow row8 = sheet.CreateRow(_idx);
         row8.HeightInPoints = rowHeight;
-        for (var colIndex = 0; colIndex < maxCols; colIndex++)
+        for (int colIndex = 0; colIndex < maxCols; colIndex++)
         {
-            var cell = row8.CreateCell(colIndex);
+            ICell cell = row8.CreateCell(colIndex);
             cell.CellStyle = style12;
         }
-
-        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 0, 4));
+        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 0, 2));
         setCellVal(sheet, _idx, 0, "宸℃浜猴細");
-        setCellVal(sheet, _idx, 5, row0["xjr1"].ToString());
-        setCellVal(sheet, _idx, 6, row0["xjr2"].ToString());
-        setCellVal(sheet, _idx, 7, row0["xjr3"].ToString());
-        setCellVal(sheet, _idx, 8, row0["xjr4"].ToString());
-        setCellVal(sheet, _idx, 9, row0["xjr5"].ToString());
+        for (int colIndex = 2; colIndex < tb1.Columns.Count; colIndex++)
+        {
+            setCellVal(sheet, _idx, colIndex, "浣欏悏鏋�");
+        }
         //淇濆瓨
         using (var ms = new MemoryStream())
         {
@@ -1008,413 +839,6 @@
         }
     }
 
-    /// <summary>
-    ///     鐢熸垚鎴愬搧妫�楠屾姤鍛婏紙鎸夊疄闄呮ā鏉跨粨鏋勶級
-    /// </summary>
-    /// <param name="dtSource"></param>
-    /// <param name="strFileName"></param>
-    public static void ExportChengPin(DataSet dtSource, string strFileName)
-    {
-        //琛岄珮
-        var rowHeight = 25;
-        //鎬诲垪鏁� - 鏍规嵁妯℃澘鍒嗘瀽锛岃嚦灏戦渶瑕�18鍒�
-        var maxCols = 18;
-        // 鍒涘缓宸ヤ綔绨�
-        var workbook = new HSSFWorkbook();
-        var sheet = workbook.CreateSheet("Sheet1");
-
-        // 鍒涘缓鍗曞厓鏍兼牱寮�
-        var style = getStyle(workbook);
-        var styleHeader = getStyle(workbook, 16, true, true);
-        var styleTitle = getStyle(workbook, 14, true, true);
-        var styleSmall = getStyle(workbook, 10);
-
-        // 璁剧疆鍒楀
-        sheet.SetColumnWidth(0, 3500); // A鍒楋細椤圭洰鍚嶇О
-        sheet.SetColumnWidth(1, 5000); // B鍒楋細鏍囧噯/瑙勮寖
-        for (var i = 2; i < 18; i++) // C鍒癛鍒楋細16涓娴嬪�煎垪
-            sheet.SetColumnWidth(i, 2500);
-
-        //鑾峰彇琛ㄥご鏁版嵁
-        var tb0 = dtSource.Tables[0];
-        var row0 = tb0.Rows[0];
-        var _idx = 0;
-
-        // 绗�1琛岋細鎶ュ憡鏍囬
-        var titleRow = sheet.CreateRow(_idx);
-        titleRow.HeightInPoints = 30;
-        for (var i = 0; i < maxCols; i++)
-        {
-            var cell = titleRow.CreateCell(i);
-            cell.CellStyle = styleHeader;
-        }
-
-        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 0, maxCols - 1));
-        setCellVal(sheet, _idx, 0, "鎴愬搧妫�楠屾姤鍛�");
-        _idx++;
-
-        // 绗�2琛岋細鍩烘湰淇℃伅绗竴琛�
-        var info1Row = sheet.CreateRow(_idx);
-        info1Row.HeightInPoints = rowHeight;
-        for (var i = 0; i < maxCols; i++)
-        {
-            var cell = info1Row.CreateCell(i);
-            cell.CellStyle = style;
-        }
-
-        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琛岋細浜у搧淇℃伅
-        var info2Row = sheet.CreateRow(_idx);
-        info2Row.HeightInPoints = rowHeight;
-        for (var i = 0; i < maxCols; i++)
-        {
-            var cell = info2Row.CreateCell(i);
-            cell.CellStyle = style;
-        }
-
-        setCellVal(sheet, _idx, 0, "浜у搧鍚嶇О");
-        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 4));
-        setCellVal(sheet, _idx, 1, row0["itemName"]?.ToString() ?? "");
-
-        setCellVal(sheet, _idx, 5, "鍨嬪彿瑙勬牸");
-        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() ?? "");
-        _idx++;
-
-        // 绗�4琛岋細鍟嗘爣绛変俊鎭�
-        var info3Row = sheet.CreateRow(_idx);
-        info3Row.HeightInPoints = rowHeight;
-        for (var i = 0; i < maxCols; i++)
-        {
-            var cell = info3Row.CreateCell(i);
-            cell.CellStyle = style;
-        }
-
-        setCellVal(sheet, _idx, 0, "鍟嗘爣");
-        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 4));
-        setCellVal(sheet, _idx, 1, row0["brand"]?.ToString() ?? "");
-
-        setCellVal(sheet, _idx, 5, "鐢熶骇鏃ユ湡");
-        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 6, 11));
-        setCellVal(sheet, _idx, 6, row0["productionDate"]?.ToString() ?? "");
-
-        setCellVal(sheet, _idx, 12, "鐝");
-        setCellVal(sheet, _idx, 13, row0["classes"]?.ToString() ?? "");
-
-        setCellVal(sheet, _idx, 14, "鎵归噺");
-        setCellVal(sheet, _idx, 15, row0["batch"]?.ToString() ?? "");
-        _idx++;
-
-        // 绗�5琛岋細AC/Re鏍囧噯
-        var acreRow = sheet.CreateRow(_idx);
-        acreRow.HeightInPoints = rowHeight;
-        for (var i = 0; i < maxCols; i++)
-        {
-            var cell = acreRow.CreateCell(i);
-            cell.CellStyle = style;
-        }
-
-        setCellVal(sheet, _idx, 0, "Ac/Re(A绫伙級");
-        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 5));
-        setCellVal(sheet, _idx, 1, row0["acRe_A"]?.ToString() ?? "");
-
-        setCellVal(sheet, _idx, 6, "Ac/Re(B绫伙級");
-        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 7, 11));
-        setCellVal(sheet, _idx, 7, row0["acRe_B"]?.ToString() ?? "");
-
-        setCellVal(sheet, _idx, 12, "Ac/Re(C绫伙級");
-        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 13, 17));
-        setCellVal(sheet, _idx, 13, row0["acRe_C"]?.ToString() ?? "");
-        _idx++;
-
-        // 绗�6琛岋細鎶芥牱淇℃伅
-        var sampleRow = sheet.CreateRow(_idx);
-        sampleRow.HeightInPoints = rowHeight;
-        for (var i = 0; i < maxCols; i++)
-        {
-            var cell = sampleRow.CreateCell(i);
-            cell.CellStyle = style;
-        }
-
-        setCellVal(sheet, _idx, 0, "鎶芥牱");
-        setCellVal(sheet, _idx, 1, "鍖�閫�");
-        setCellVal(sheet, _idx, 2,
-            row0["SampleMethod"]?.ToString() == "鍖�閫�" ? "鈭�" : "");
-        setCellVal(sheet, _idx, 3, "闅忔満");
-        setCellVal(sheet, _idx, 4,
-            row0["SampleMethod"]?.ToString() == "闅忔満" ? "鈭�" : "");
-
-        setCellVal(sheet, _idx, 5, "鏍锋湰鏁�");
-        setCellVal(sheet, _idx, 6, "鍖�閫熸娊鏍锋暟");
-        setCellVal(sheet, _idx, 7, row0["sampleSize1"]?.ToString() ?? "");
-        setCellVal(sheet, _idx, 8, "闅忔満鎶芥牱鏁�");
-        setCellVal(sheet, _idx, 9, row0["sampleSize2"]?.ToString() ?? "");
-        setCellVal(sheet, _idx, 10, "鏍锋湰");
-        setCellVal(sheet, _idx, 11, row0["sampleSize3"]?.ToString() ?? "");
-        _idx++;
-
-        // 绗�7琛岋細妫�楠岄」鐩〃澶�
-        var headerRow = sheet.CreateRow(_idx);
-        headerRow.HeightInPoints = rowHeight;
-        for (var i = 0; i < maxCols; i++)
-        {
-            var cell = headerRow.CreateCell(i);
-            cell.CellStyle = styleTitle;
-        }
-
-        setCellVal(sheet, _idx, 0, "椤圭洰");
-        setCellVal(sheet, _idx, 1, "鏍囧噯");
-        setCellVal(sheet, _idx, 2, "1");
-        setCellVal(sheet, _idx, 3, "2");
-        // 鏍规嵁闇�瑕佺户缁坊鍔犳洿澶氬垪鏍囬锛岃繖閲岀畝鍖栦负涓昏鍒�
-        for (var i = 4; i < 18; i++)
-            setCellVal(sheet, _idx, i, (i - 1).ToString());
-        _idx++;
-
-        // 妫�楠岄」鐩暟鎹�
-        if (dtSource.Tables.Count > 1)
-        {
-            var tb1 = dtSource.Tables[1];
-            foreach (DataRow rrr in tb1.Rows)
-            {
-                var dataRow = sheet.CreateRow(_idx);
-                dataRow.HeightInPoints = rowHeight;
-
-                for (var i = 0; i < maxCols; i++)
-                {
-                    var cell = dataRow.CreateCell(i);
-                    cell.CellStyle = style;
-                }
-
-                setCellVal(sheet, _idx, 0, rrr["RPB003"]?.ToString() ?? "");
-                setCellVal(sheet, _idx, 1, rrr["RPB004"]?.ToString() ?? "");
-
-                // 濉厖16涓祴璇曞��
-                for (var i = 0; i < 16; i++)
-                {
-                    var colName =
-                        $"RPB{i + 5:D3}"; // RPB005, RPB006, ..., RPB020
-                    if (rrr.Table.Columns.Contains(colName))
-                        setCellVal(sheet, _idx, i + 2,
-                            rrr[colName]?.ToString() ?? "");
-                    else
-                        setCellVal(sheet, _idx, i + 2, "");
-                }
-
-                _idx++;
-            }
-        }
-
-        // 涓嶅悎鏍煎唴瀹硅褰�
-        var defectHeaderRow = sheet.CreateRow(_idx);
-        defectHeaderRow.HeightInPoints = rowHeight;
-        for (var i = 0; i < maxCols; i++)
-        {
-            var cell = defectHeaderRow.CreateCell(i);
-            cell.CellStyle = styleTitle;
-        }
-
-        setCellVal(sheet, _idx, 0, "搴忓彿");
-        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1,
-            10)); // 涓嶅悎鏍煎唴瀹瑰崰澶氬垪
-        setCellVal(sheet, _idx, 1, "涓嶅悎鏍煎唴瀹�");
-        setCellVal(sheet, _idx, 11, "A绫�");
-        setCellVal(sheet, _idx, 12, "B绫�");
-        setCellVal(sheet, _idx, 13, "C绫�");
-        sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 14,
-            17)); // 娉ㄦ剰鐐瑰崰鍓╀綑鍒�
-        setCellVal(sheet, _idx, 14, "娉ㄦ剰鐐�");
-        _idx++;
-
-        if (dtSource.Tables.Count > 2)
-        {
-            var tb2 = dtSource.Tables[2];
-            foreach (DataRow rrr in tb2.Rows)
-            {
-                if (rrr["Description"]?.ToString() == "涓嶈壇鏁伴噺")
-                    break;
-                var dataRow = sheet.CreateRow(_idx);
-                dataRow.HeightInPoints = rowHeight;
-
-                for (var i = 0; i < maxCols; i++)
-                {
-                    var cell = dataRow.CreateCell(i);
-                    cell.CellStyle = style;
-                }
-
-                setCellVal(sheet, _idx, 0, rrr["Seq"]?.ToString() ?? "");
-                sheet.AddMergedRegion(
-                    new CellRangeAddress(_idx, _idx, 1, 10)); // 涓嶅悎鏍煎唴瀹瑰崰澶氬垪
-                setCellVal(sheet, _idx, 1,
-                    rrr["Description"]?.ToString() ?? "");
-                setCellVal(sheet, _idx, 11, rrr["AClass"]?.ToString() ?? "");
-                setCellVal(sheet, _idx, 12, rrr["BClass"]?.ToString() ?? "");
-                setCellVal(sheet, _idx, 13, rrr["CClass"]?.ToString() ?? "");
-                sheet.AddMergedRegion(
-                    new CellRangeAddress(_idx, _idx, 14, 17)); // 娉ㄦ剰鐐瑰崰鍓╀綑鍒�
-                setCellVal(sheet, _idx, 14, rrr["Point"]?.ToString() ?? "");
-                _idx++;
-            }
-
-            var dr = tb2.Rows[tb2.Rows.Count - 1];
-            // 澶囨敞琛�
-            var remarkRow = sheet.CreateRow(_idx);
-            remarkRow.HeightInPoints = rowHeight;
-            for (var i = 0; i < maxCols; i++)
-            {
-                var cell = remarkRow.CreateCell(i);
-                cell.CellStyle = style;
-            }
-
-            setCellVal(sheet, _idx, 0, "澶囨敞锛�");
-            sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 1, 8));
-            setCellVal(sheet, _idx, 9, "涓嶈壇鏁伴噺锛�");
-            sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 9, 10));
-            setCellVal(sheet, _idx, 11, dr["AClass"]?.ToString() ?? "");
-            setCellVal(sheet, _idx, 12, dr["BClass"]?.ToString() ?? "");
-            setCellVal(sheet, _idx, 13, dr["CClass"]?.ToString() ?? "");
-            sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 14,
-                17)); // 娉ㄦ剰鐐瑰崰鍓╀綑鍒�
-            setCellVal(sheet, _idx, 14, dr["Point"]?.ToString() ?? "");
-            _idx++;
-
-            // 澶х殑澶囨敞鍐呭鍖哄煙
-            var remarkContentRow = sheet.CreateRow(_idx);
-            remarkContentRow.HeightInPoints = 60;
-            for (var i = 0; i < maxCols; i++)
-            {
-                var cell = remarkContentRow.CreateCell(i);
-                cell.CellStyle = style;
-            }
-
-            sheet.AddMergedRegion(new CellRangeAddress(_idx, _idx, 0, 17));
-            setCellVal(sheet, _idx, 0, dr["Remark"]?.ToString() ?? "");
-            _idx++;
-        }
-
-        // 妫�楠屽垽瀹氬尯鍩燂紙3琛屽竷灞�锛�
-        for (var judgeRowIndex = 0; judgeRowIndex < 3; judgeRowIndex++)
-        {
-            var judgmentRow = sheet.CreateRow(_idx);
-            judgmentRow.HeightInPoints = rowHeight;
-            for (var i = 0; i < maxCols; i++)
-            {
-                var cell = judgmentRow.CreateCell(i);
-                cell.CellStyle = styleTitle;
-            }
-
-            if (judgeRowIndex == 0)
-            {
-                // 绗竴琛岋細妫�楠屽垽瀹�
-                setCellVal(sheet, _idx, 0, "妫�楠屽垽瀹�");
-                sheet.AddMergedRegion(
-                    new CellRangeAddress(_idx, _idx + 2, 0, 0)); // 妫�楠屽垽瀹氳法3琛�
-
-                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));
-            }
-            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() ?? ""}");
-            }
-
-            _idx++;
-        }
-
-        //淇濆瓨
-        using (var ms = new MemoryStream())
-        {
-            using (var fs = new FileStream(strFileName, FileMode.Create,
-                       FileAccess.Write))
-            {
-                workbook.Write(ms);
-                ms.Flush();
-                ms.Position = 0;
-                var data = ms.ToArray();
-                fs.Write(data, 0, data.Length);
-                fs.Flush();
-            }
-        }
-    }
 
     /// <summary>
     ///     Excel瀵煎叆鎴怐atable
@@ -1504,4 +928,4 @@
                 return "=" + cell.CellFormula;
         }
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3