callm 5 жил өмнө
parent
commit
b52bdb567b

+ 1 - 0
UAS-出货标签管理(贸易版)/ExportExcel.cs

@@ -172,6 +172,7 @@ namespace UAS_LabelMachine
                 if (i <= 4)
                 {
                     Controls["M_Param" + (i + 1)].Visible = true;
+                    ((CheckBox)Controls["M_Param" + (i + 1)]).Checked = true;
                     Controls["M_Param" + (i + 1)].Text = dt.Rows[i]["cep_name"].ToString();
                 }
             }

+ 83 - 75
UAS-出货标签管理(贸易版)/PublicMethod/ExcelHandler.cs

@@ -467,14 +467,9 @@ namespace UAS_LabelMachine
                                     if (j == 0)
                                     {
                                         row1.CreateCell(j);
-                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_title"].ToString());
+                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_title"].ToString() + "    " + DataTable.Rows[i]["ch_level"].ToString());
                                     }
-                                    else if (j == 4)
-                                    {
-                                        row1.CreateCell(j);
-                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_inoutno"].ToString());
-                                    }
-                                    else if (columnNum > 5 && j == columnNum - 5)
+                                    else if (j == 6)
                                     {
                                         row1.CreateCell(j);
                                         row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_inoutno"].ToString());
@@ -493,14 +488,9 @@ namespace UAS_LabelMachine
                                     if (j == 0)
                                     {
                                         row1.CreateCell(j);
-                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pr_orispeccode"].ToString() + DataTable.Rows[i]["me_desc"].ToString() + DataTable.Rows[i]["pr_size"].ToString());
+                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pr_orispeccode"].ToString() + " " + DataTable.Rows[i]["me_desc"].ToString() + " " + DataTable.Rows[i]["pr_size"].ToString());
                                     }
-                                    else if (j == 4)
-                                    {
-                                        row1.CreateCell(j);
-                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_date"].ToString());
-                                    }
-                                    else if (columnNum <= 5 && j == columnNum - 4)
+                                    else if (j == 6)
                                     {
                                         row1.CreateCell(j);
                                         row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_date"].ToString());
@@ -517,28 +507,28 @@ namespace UAS_LabelMachine
                                 //计数列所在的索引
                                 for (int j = 4; j < columnNum; j++)
                                 {
-                                    row1.CreateCell(j - 4);
-                                    row1.Cells[j - 4].CellStyle = styleborder;
                                     if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1")
                                     {
+                                        row1.CreateCell(j - 4);
+                                        row1.Cells[j - 4].CellStyle = styleborder;
                                         row1.Cells[j - 4].SetCellValue(DataTable.Rows[i]["chw_itemname1"].ToString());
                                     }
                                     else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2")
                                     {
+                                        row1.CreateCell(j - 4);
+                                        row1.Cells[j - 4].CellStyle = styleborder;
                                         row1.Cells[j - 4].SetCellValue(DataTable.Rows[i]["chw_itemname2"].ToString());
                                     }
-                                    else
+                                    else if (!(DataTable.Columns[j].ColumnName.ToLower().Contains("ch_level") || DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code"))))
+                                    {
+                                        row1.CreateCell(j - 4);
+                                        row1.Cells[j - 4].CellStyle = styleborder;
                                         row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
-
+                                    }
                                     if (DataTable.Columns[j].ColumnName.ToString() == "io_qty")
                                     {
                                         NumIndex = j;
                                     }
-                                    //如果chw_itemname1的值为空,则值为100和0,其中一列不显示,不显示
-                                    if (DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
-                                    {
-                                        sheet.SetColumnHidden(j - 4, true);
-                                    }
                                 }
                                 row1 = sheet.CreateRow(PaintIndex);
                                 PaintIndex = PaintIndex + 1;
@@ -547,10 +537,13 @@ namespace UAS_LabelMachine
                         //添加数据内容
                         for (int j = 4; j < columnNum; j++)
                         {
-                            string Data = DataTable.Rows[i][j].ToString();
-                            row1.CreateCell(j - 4);
-                            row1.Cells[j - 4].SetCellValue(Data);
-                            row1.GetCell(j - 4).CellStyle = styleborder;
+                            if (!(DataTable.Columns[j].ColumnName.ToLower().Contains("ch_level") || DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code"))))
+                            {
+                                row1.CreateCell(j - 4);
+                                string Data = DataTable.Rows[i][j].ToString();
+                                row1.Cells[j - 4].SetCellValue(Data);
+                                row1.GetCell(j - 4).CellStyle = styleborder;
+                            }
                             if (DataTable.Columns[j].ColumnName == "io_qty")
                             {
                                 sumCount += int.Parse(DataTable.Rows[i][j].ToString());
@@ -635,7 +628,7 @@ namespace UAS_LabelMachine
                     }
                     for (int i = 0; i < sheet.LastRowNum; i++)
                     {
-                        if (i != 0)
+                        if (i > 2)
                         {
                             sheet.AutoSizeColumn(i);
                             sheet.SetColumnWidth(i, sheet.GetColumnWidth(i) + 1000);
@@ -684,9 +677,9 @@ namespace UAS_LabelMachine
                                     if (j == 0)
                                     {
                                         row1.CreateCell(j);
-                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_title"].ToString());
+                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_title"].ToString() + "    " + DataTable.Rows[i]["ch_level"].ToString());
                                     }
-                                    else if (j == columnNum - 4)
+                                    else if (j == 6)
                                     {
                                         row1.CreateCell(j);
                                         row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_inoutno"].ToString());
@@ -705,9 +698,9 @@ namespace UAS_LabelMachine
                                     if (j == 0)
                                     {
                                         row1.CreateCell(j);
-                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pr_orispeccode"].ToString() + DataTable.Rows[i]["me_desc"].ToString() + DataTable.Rows[i]["pr_size"].ToString());
+                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pr_orispeccode"].ToString() + " " + DataTable.Rows[i]["me_desc"].ToString() + " " + DataTable.Rows[i]["pr_size"].ToString());
                                     }
-                                    else if (j == columnNum - 4)
+                                    else if (j == 6)
                                     {
                                         row1.CreateCell(j);
                                         row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_date"].ToString());
@@ -723,21 +716,23 @@ namespace UAS_LabelMachine
                                 PaintIndex = PaintIndex + 1;
                                 for (int j = 4; j < columnNum; j++)
                                 {
-                                    row1.CreateCell(j - 4);
-                                    row1.Cells[j - 4].CellStyle = styleborder;
                                     if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1")
                                     {
+                                        row1.CreateCell(j - 4);
+                                        row1.Cells[j - 4].CellStyle = styleborder;
                                         row1.Cells[j - 4].SetCellValue(DataTable.Rows[i]["chw_itemname1"].ToString());
                                     }
                                     else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2")
                                     {
+                                        row1.CreateCell(j - 4);
+                                        row1.Cells[j - 4].CellStyle = styleborder;
                                         row1.Cells[j - 4].SetCellValue(DataTable.Rows[i]["chw_itemname2"].ToString());
                                     }
-                                    else
-                                        row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
-                                    if (DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
+                                    else if (!(DataTable.Columns[j].ColumnName.ToLower().Contains("ch_level") || DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code"))))
                                     {
-                                        sheet.SetColumnHidden(j - 4, true);
+                                        row1.CreateCell(j - 4);
+                                        row1.Cells[j - 4].CellStyle = styleborder;
+                                        row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
                                     }
                                 }
                                 row1 = sheet.CreateRow(PaintIndex);
@@ -747,10 +742,13 @@ namespace UAS_LabelMachine
                         //添加数据内容
                         for (int j = 4; j < columnNum; j++)
                         {
-                            string Data = DataTable.Rows[i][j].ToString();
-                            row1.CreateCell(j - 4);
-                            row1.Cells[j - 4].SetCellValue(Data);
-                            row1.GetCell(j - 4).CellStyle = styleborder;
+                            if (!(DataTable.Columns[j].ColumnName.ToLower().Contains("ch_level") || DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code"))))
+                            {
+                                row1.CreateCell(j - 4);
+                                string Data = DataTable.Rows[i][j].ToString();
+                                row1.Cells[j - 4].SetCellValue(Data);
+                                row1.GetCell(j - 4).CellStyle = styleborder;
+                            }
                             if (DataTable.Columns[j].ColumnName == "io_qty")
                             {
                                 sumCount += int.Parse(DataTable.Rows[i][j].ToString());
@@ -822,7 +820,7 @@ namespace UAS_LabelMachine
                     }
                     for (int i = 0; i < sheet.LastRowNum; i++)
                     {
-                        if (i != 0)
+                        if (i > 2)
                         {
                             sheet.AutoSizeColumn(i);
                             sheet.SetColumnWidth(i, sheet.GetColumnWidth(i) + 1000);
@@ -871,14 +869,9 @@ namespace UAS_LabelMachine
                                     if (j == 0)
                                     {
                                         row1.CreateCell(j);
-                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_title"].ToString());
-                                    }
-                                    else if (j > 5 && j == columnNum - 5)
-                                    {
-                                        row1.CreateCell(j);
-                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_inoutno"].ToString());
+                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_title"].ToString() + "    " + DataTable.Rows[i]["ch_level"].ToString());
                                     }
-                                    else if (columnNum > 5 && j == columnNum - 5)
+                                    else if (j == 6)
                                     {
                                         row1.CreateCell(j);
                                         row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_inoutno"].ToString());
@@ -897,14 +890,9 @@ namespace UAS_LabelMachine
                                     if (j == 0)
                                     {
                                         row1.CreateCell(j);
-                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pr_orispeccode"].ToString() + DataTable.Rows[i]["me_desc"].ToString() + DataTable.Rows[i]["pr_size"].ToString());
+                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pr_orispeccode"].ToString() + " " + DataTable.Rows[i]["me_desc"].ToString() + " " + DataTable.Rows[i]["pr_size"].ToString());
                                     }
-                                    else if (j > 5 && j == columnNum - 5)
-                                    {
-                                        row1.CreateCell(j);
-                                        row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_date"].ToString());
-                                    }
-                                    else if (columnNum > 5 && j == columnNum - 5)
+                                    else if (j == 6)
                                     {
                                         row1.CreateCell(j);
                                         row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_date"].ToString());
@@ -921,21 +909,30 @@ namespace UAS_LabelMachine
                                 for (int j = 4; j < columnNum; j++)
                                 {
                                     //设定固定的列名
-                                    row1.CreateCell(j - 4);
-                                    row1.Cells[j - 4].CellStyle = styleborder;
+                                    if (!(DataTable.Columns[j].ColumnName.ToLower().Contains("ch_level") || DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code"))))
+                                    {
+                                        row1.CreateCell(j - 4);
+                                        string Data = DataTable.Rows[i][j].ToString();
+                                        row1.Cells[j - 4].SetCellValue(Data);
+                                        row1.GetCell(j - 4).CellStyle = styleborder;
+                                    }
                                     if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1")
                                     {
+                                        row1.CreateCell(j - 4);
+                                        row1.Cells[j - 4].CellStyle = styleborder;
                                         row1.Cells[j - 4].SetCellValue(DataTable.Rows[i]["chw_itemname1"].ToString());
                                     }
                                     else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2")
                                     {
+                                        row1.CreateCell(j - 4);
+                                        row1.Cells[j - 4].CellStyle = styleborder;
                                         row1.Cells[j - 4].SetCellValue(DataTable.Rows[i]["chw_itemname2"].ToString());
                                     }
-                                    else
-                                        row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
-                                    if (DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
+                                    else if (!(DataTable.Columns[j].ColumnName.ToLower().Contains("ch_level") || DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code"))))
                                     {
-                                        sheet.SetColumnHidden(j - 4, true);
+                                        row1.CreateCell(j - 4);
+                                        row1.Cells[j - 4].CellStyle = styleborder;
+                                        row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
                                     }
                                 }
                                 row1 = sheet.CreateRow(PaintIndex);
@@ -945,10 +942,14 @@ namespace UAS_LabelMachine
                         //添加数据内容
                         for (int j = 4; j < columnNum; j++)
                         {
-                            string Data = DataTable.Rows[i][j].ToString();
-                            row1.CreateCell(j - 4);
-                            row1.Cells[j - 4].SetCellValue(Data);
-                            row1.GetCell(j - 4).CellStyle = styleborder;
+
+                            if (!(DataTable.Columns[j].ColumnName.ToLower().Contains("ch_level") || DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code"))))
+                            {
+                                row1.CreateCell(j - 4);
+                                string Data = DataTable.Rows[i][j].ToString();
+                                row1.Cells[j - 4].SetCellValue(Data);
+                                row1.GetCell(j - 4).CellStyle = styleborder;
+                            }
                             if (DataTable.Columns[j].ColumnName == "io_qty")
                             {
                                 sumCount += int.Parse(DataTable.Rows[i][j].ToString());
@@ -965,7 +966,11 @@ namespace UAS_LabelMachine
                             PaintIndex = PaintIndex + 1;
                             for (int j = 0; j < columnNum - 4; j++)
                             {
-                                row1.CreateCell(j);
+                                if (!(DataTable.Columns[j].ColumnName.ToLower().Contains("ch_level") || DataTable.Columns[j].ColumnName.ToLower().Contains("pib_id") || DataTable.Columns[j].ColumnName.ToLower().Contains("chw_itemname") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_orispeccode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pd_ordercode") || DataTable.Columns[j].ColumnName.ToLower().Contains("pr_size") || DataTable.Columns[j].ColumnName.ToLower().Contains("me_desc") || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code"))))
+                                {
+                                    row1.CreateCell(j);
+                                    row1.Cells[j].CellStyle = styleborder;
+                                }
                                 if (j == 0)
                                 {
                                     row1.Cells[j].SetCellValue("小计");
@@ -974,7 +979,6 @@ namespace UAS_LabelMachine
                                 {
                                     row1.Cells[j - 4].SetCellValue(sumCount);
                                 }
-                                row1.Cells[j].CellStyle = styleborder;
                             }
                             row1 = sheet.CreateRow(PaintIndex);
 
@@ -1020,7 +1024,7 @@ namespace UAS_LabelMachine
                     }
                     for (int i = 0; i < sheet.LastRowNum; i++)
                     {
-                        if (i != 0)
+                        if (i > 2)
                         {
                             sheet.AutoSizeColumn(i);
                             sheet.SetColumnWidth(i, sheet.GetColumnWidth(i) + 1000);
@@ -1030,6 +1034,15 @@ namespace UAS_LabelMachine
                 default:
                     break;
             }
+            sheet.PrintSetup.Landscape = true;
+
+            sheet.PrintSetup.PaperSize = (short)PaperSize.A4;
+
+            sheet.PrintSetup.FitHeight = 2;
+
+            sheet.PrintSetup.FitWidth = 3;
+
+            sheet.IsPrintGridlines = true;
             dh.BatchInsert("update prodiobarcode set pib_outboxcode1=:pib_outboxcode1 where pib_inoutno='" + Inoutno + "' and pib_id=:pib_id", new string[] { "pib_outboxcode1", "pib_id" }, pib_outboxcode1.ToArray(), pib_id.ToArray());
             //删除下载链接再重新插入
             HttpHandler.GenDownLoadLinK(Inoutno);
@@ -1092,11 +1105,6 @@ namespace UAS_LabelMachine
                             row1.CreateCell(j);
                             row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_inoutno"].ToString());
                         }
-                        else if (columnNum > 5 && j == columnNum - 5)
-                        {
-                            row1.CreateCell(j);
-                            row1.Cells[j].SetCellValue(DataTable.Rows[i]["pi_inoutno"].ToString());
-                        }
                         else
                         {
                             row1.CreateCell(j);